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));
}
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)
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,..} */