X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fopt%2Fhelpers.c;h=e657ebff8727090c676e7e594520855fa208de89;hp=0f3671e526d838264d78d8f68b2120acbaa71e44;hb=a8b30ad4dcea31c68ca809d2a6e6e4c7c6c30398;hpb=f8b1841d26dabd23c053f5fc61dbd1536cdad43c diff --git a/ccan/opt/helpers.c b/ccan/opt/helpers.c index 0f3671e5..e657ebff 100644 --- a/ccan/opt/helpers.c +++ b/ccan/opt/helpers.c @@ -91,10 +91,8 @@ char *opt_set_longval(const char *arg, long *l) *l = strtol(arg, &endp, 0); if (*endp || !arg[0]) return arg_bad("'%s' is not a number", arg); - if (errno == ERANGE) - return arg_bad("'%s' is out of range", arg); if (errno) - return opt_invalid_argument(arg); + return arg_bad("'%s' is out of range", arg); return NULL; } @@ -149,6 +147,8 @@ void opt_show_charp(char buf[OPT_SHOW_LEN], char *const *p) len = OPT_SHOW_LEN - 2; strncpy(buf+1, *p, len); buf[1+len] = '"'; + if (len < OPT_SHOW_LEN - 2) + buf[2+len] = '\0'; } /* Set an integer value, various forms. Sets to 1 on arg == NULL. */