]> git.pld-linux.org Git - packages/gawk.git/blobdiff - gawk-4.2.0-001-rwarray-small-improvements.patch
- rel 2; fixes used by FC
[packages/gawk.git] / gawk-4.2.0-001-rwarray-small-improvements.patch
diff --git a/gawk-4.2.0-001-rwarray-small-improvements.patch b/gawk-4.2.0-001-rwarray-small-improvements.patch
new file mode 100644 (file)
index 0000000..10059bd
--- /dev/null
@@ -0,0 +1,51 @@
+From 750e3168705de678474fea0a551f9cf29e9e077d Mon Sep 17 00:00:00 2001
+From: "Arnold D. Robbins" <arnold@skeeve.com>
+Date: Sat, 28 Oct 2017 23:22:15 +0300
+Subject: [PATCH] Small improvements in extension/rwarray.c.
+
+---
+ extension/ChangeLog | 5 +++++
+ extension/rwarray.c | 6 ++++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/extension/ChangeLog b/extension/ChangeLog
+index 4bfd896..c04e9c2 100644
+--- a/extension/ChangeLog
++++ b/extension/ChangeLog
+@@ -1,3 +1,8 @@
++2017-10-28         Arnold D. Robbins     <arnold@skeeve.com>
++
++      * rwarray.c (do_writea): Fix description in comment.
++      (write_array): Free the flattened array if writing an element fails.
++
+ 2017-10-19         Arnold D. Robbins     <arnold@skeeve.com>
+       * 4.2.0: Release tar ball made.
+diff --git a/extension/rwarray.c b/extension/rwarray.c
+index 2e82ca7..997b6b2 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)) {
+-- 
+2.9.5
+
This page took 0.168221 seconds and 4 git commands to generate.