int ask_callback(struct fdisk_context *cxt, struct fdisk_ask *ask,
void *data __attribute__((__unused__)))
{
+ va_list ap;
char buf[BUFSIZ];
assert(cxt);
return ask_number(cxt, ask, buf, sizeof(buf));
case FDISK_ASKTYPE_OFFSET:
return ask_offset(cxt, ask, buf, sizeof(buf));
+ case FDISK_ASKTYPE_INFO:
+ fdisk_ask_print_get_va(ask, ap);
+ vfprintf(stdout, fdisk_ask_print_get_mesg(ask), ap);
+ fputc('\n', stdout);
+ va_end(ap);
+ break;
+ case FDISK_ASKTYPE_WARNX:
+ fdisk_ask_print_get_va(ask, ap);
+ vfprintf(stderr, fdisk_ask_print_get_mesg(ask), ap);
+ fputc('\n', stderr);
+ va_end(ap);
+ break;
+ case FDISK_ASKTYPE_WARN:
+ fdisk_ask_print_get_va(ask, ap);
+ vfprintf(stderr, fdisk_ask_print_get_mesg(ask), ap);
+ errno = fdisk_ask_print_get_errno(ask);
+ fprintf(stderr, ": %m\n");
+ va_end(ap);
+ break;
default:
warnx(_("internal error: unssuported dialog type %d"), fdisk_ask_get_type(ask));
return -EINVAL;