From 3f3b27e453cd6b8f36c7375cfdd67235314838a9 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 10 Dec 2016 01:21:23 +0000 Subject: [PATCH] adnshost: Support --reverse in -f mode input stream Previously this would spuriously fail an assertion. Signed-off-by: Ian Jackson --- client/adh-main.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/client/adh-main.c b/client/adh-main.c index 93fe269..0d1d57e 100644 --- a/client/adh-main.c +++ b/client/adh-main.c @@ -129,7 +129,7 @@ void of_type(const struct optioninfo *oi, const char *arg, const char *arg2) { static void process_optarg(const char *arg, const char *const **argv_p, - const char *value) { + char *value) { const struct optioninfo *oip; const char *arg2; int invert; @@ -148,9 +148,17 @@ static void process_optarg(const char *arg, if (!arg) usageerr("option --%s requires a value argument",oip->lopt); arg2= 0; } else if (oip->type == ot_funcarg2) { - assert(argv_p); - arg= *++(*argv_p); - arg2= arg ? *++(*argv_p) : 0; + if (argv_p) { + arg= *++(*argv_p); + arg2= arg ? *++(*argv_p) : 0; + } else if (value) { + arg= value; + char *space= strchr(value,' '); + if (space) *space++= 0; + arg2= space; + } else { + arg= 0; + } if (!arg || !arg2) usageerr("option --%s requires two more arguments", oip->lopt); } else { -- 2.30.2