diff options
author | Chet Ramey <chet.ramey@case.edu> | 2020-09-09 15:25:32 -0400 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2020-09-09 15:25:32 -0400 |
commit | 3eb0018e75b74bb886df7fba4b1712529ce7258f (patch) | |
tree | 13b53713ef8f483a82295324e314da48b59c9346 /array.c | |
parent | 712f80b0a49c3a0227d0b52bff5e0b763747697e (diff) | |
download | bash-5.1-beta.tar.gz |
bash-5.1 beta releasebash-5.1-beta
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -810,22 +810,29 @@ WORD_LIST *list; } char ** -array_to_argv (a) +array_to_argv (a, countp) ARRAY *a; +int *countp; { char **ret, *t; int i; ARRAY_ELEMENT *ae; - if (a == 0 || array_empty(a)) + if (a == 0 || array_empty(a)) { + if (countp) + *countp = 0; return ((char **)NULL); + } ret = strvec_create (array_num_elements (a) + 1); i = 0; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { t = element_value (ae); - ret[i++] = t ? savestring (t) : (char *)NULL; + if (t) + ret[i++] = savestring (t); } ret[i] = (char *)NULL; + if (countp) + *countp = i; return (ret); } |