diff options
author | dana <dana@dana.is> | 2025-04-13 17:15:53 -0500 |
---|---|---|
committer | dana <dana@dana.is> | 2025-04-19 18:47:00 -0500 |
commit | 494fcd1799d4d2d236d3183de12b0c99ceb83b1c (patch) | |
tree | 447370bbd20acc6c1fe36be3d7a9ccdead3c63ff /Src | |
parent | bacc78ec3f9d75ff242d0592b2f44484e1198801 (diff) | |
download | zsh-494fcd1799d4d2d236d3183de12b0c99ceb83b1c.tar.gz zsh-494fcd1799d4d2d236d3183de12b0c99ceb83b1c.zip |
53482: zparseopts -G: always add options with optional args to array with =
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Modules/zutil.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Src/Modules/zutil.c b/Src/Modules/zutil.c index 9b2721a09..ef99303d2 100644 --- a/Src/Modules/zutil.c +++ b/Src/Modules/zutil.c @@ -1662,15 +1662,15 @@ add_opt_val(Zoptdesc d, char *arg) v->str = NULL; if (d->arr) d->arr->num += (arg ? 2 : 1); - } else if (arg) { + } else if (arg || d->flags & ZOF_GNUL) { /* 3 here is '-' + '=' + NUL */ - char *s = (char *) zhalloc(strlen(d->name) + strlen(arg) + 3); + char *s = (char *) zhalloc(strlen(d->name) + strlen(arg ? arg : "") + 3); *s = '-'; strcpy(s + 1, d->name); if (d->flags & ZOF_GNUL) strcat(s, "="); - strcat(s, arg); + strcat(s, arg ? arg : ""); v->str = s; if (d->arr) d->arr->num += 1; |