diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-10-28 23:22:48 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-10-28 23:22:48 +0300 |
commit | a9f0aa618da1dd6b6a2c73f72e95aafb133889ff (patch) | |
tree | 612b28b8683e3b336da27b9472a7afdb4dcb9441 /extension/rwarray.c | |
parent | bdb7f9361cc0136c62aa8cfe56c7cd6f258f6b0d (diff) | |
parent | 750e3168705de678474fea0a551f9cf29e9e077d (diff) | |
download | egawk-a9f0aa618da1dd6b6a2c73f72e95aafb133889ff.tar.gz egawk-a9f0aa618da1dd6b6a2c73f72e95aafb133889ff.tar.bz2 egawk-a9f0aa618da1dd6b6a2c73f72e95aafb133889ff.zip |
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'extension/rwarray.c')
-rw-r--r-- | extension/rwarray.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/extension/rwarray.c b/extension/rwarray.c index 2e82ca76..997b6b2f 100644 --- a/extension/rwarray.c +++ b/extension/rwarray.c @@ -114,7 +114,7 @@ do_writea(int nargs, awk_value_t *result, struct awk_ext_func *unused) if (nargs < 2) goto out; - /* directory is first arg, array to dump is second */ + /* filename is first arg, array to dump is second */ if (! get_argument(0, AWK_STRING, & filename)) { fprintf(stderr, _("do_writea: argument 0 is not a string\n")); errno = EINVAL; @@ -178,8 +178,10 @@ write_array(FILE *fp, awk_array_t array) return awk_false; for (i = 0; i < flat_array->count; i++) { - if (! write_elem(fp, & flat_array->elements[i])) + if (! write_elem(fp, & flat_array->elements[i])) { + (void) release_flattened_array(array, flat_array); return awk_false; + } } if (! release_flattened_array(array, flat_array)) { |