From 5673f30de61598def3f50c4285e09e70f5706d48 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 9 May 2013 13:19:58 +0200 Subject: [PATCH] libfdisk: don't re-allocate range string in Ask API Signed-off-by: Karel Zak --- libfdisk/src/ask.c | 13 +++---------- libfdisk/src/fdiskP.h | 2 +- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c index cdb4d01241..1b4791af36 100644 --- a/libfdisk/src/ask.c +++ b/libfdisk/src/ask.c @@ -13,15 +13,6 @@ void fdisk_reset_ask(struct fdisk_ask *ask) assert(ask); free(ask->query); - switch (ask->type) { - case FDISK_ASKTYPE_OFFSET: - case FDISK_ASKTYPE_NUMBER: - free(ask->data.num.range); - break; - default: - break; - } - memset(ask, 0, sizeof(*ask)); } @@ -90,7 +81,9 @@ const char *fdisk_ask_number_get_range(struct fdisk_ask *ask) int fdisk_ask_number_set_range(struct fdisk_ask *ask, const char *range) { assert(ask); - return !strdup_to_struct_member(ask, data.num.range, range) ? -ENOMEM : 0; + assert(is_number_ask(ask)); + ask->data.num.range = range; + return 0; } uint64_t fdisk_ask_number_get_default(struct fdisk_ask *ask) diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h index ce42860d9b..541b753966 100644 --- a/libfdisk/src/fdiskP.h +++ b/libfdisk/src/fdiskP.h @@ -225,7 +225,7 @@ struct fdisk_ask { uint64_t result; uint64_t base; /* for relative results */ uint64_t unit; /* unit for offsets */ - char *range; /* by library generated list */ + const char *range; /* by library generated list */ unsigned int relative:1; } num; /* FDISK_ASKTYPE_{WARN,WARNX,..} */ -- 2.47.3