diff options
author | Karel Zak | 2012-12-11 16:37:04 +0100 |
---|---|---|
committer | Karel Zak | 2013-03-11 12:47:29 +0100 |
commit | 0559e742a9a85c64dfc73363be6de74adf644d71 (patch) | |
tree | e336d8138ac0b4e14cd7189765dd30d756677bde /libfdisk/src/context.c | |
parent | libfdisk: kill dos_compatible_flag global variable (diff) | |
download | kernel-qcow2-util-linux-0559e742a9a85c64dfc73363be6de74adf644d71.tar.gz kernel-qcow2-util-linux-0559e742a9a85c64dfc73363be6de74adf644d71.tar.xz kernel-qcow2-util-linux-0559e742a9a85c64dfc73363be6de74adf644d71.zip |
libfdisk: improve label deinitialization
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/context.c')
-rw-r--r-- | libfdisk/src/context.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 9801b51f2..6eaa927b0 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -58,11 +58,14 @@ struct fdisk_label *fdisk_context_get_label(struct fdisk_context *cxt, const cha static void reset_context(struct fdisk_context *cxt) { - size_t nlbs; + size_t nlbs, i; struct fdisk_label *lbs[ ARRAY_SIZE(cxt->labels) ]; DBG(CONTEXT, dbgprint("\n-----\nresetting context %p", cxt)); - fdisk_deinit_label(cxt); /* reset the current label */ + + /* reset drives' private data */ + for (i = 0; i < cxt->nlabels; i++) + fdisk_deinit_label(cxt->labels[i]); /* remember permanent setting */ memcpy(lbs, cxt->labels, sizeof(lbs)); |