]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
Bash-4.2 patch 43
authorChet Ramey <chet.ramey@case.edu>
Thu, 7 Mar 2013 20:20:58 +0000 (15:20 -0500)
committerChet Ramey <chet.ramey@case.edu>
Thu, 7 Mar 2013 20:20:58 +0000 (15:20 -0500)
-i [new file with mode: 0644]
builtins/read.def
patchlevel.h

diff --git a/-i b/-i
new file mode 100644 (file)
index 0000000..e69de29
index e32dec7b46f9f67bb68deac516f59182a370e2f3..d4078579ecc12b9c6bdbd844bfba91570cbd2f07 100644 (file)
@@ -385,10 +385,20 @@ read_builtin (list)
        {
          /* Tricky.  The top of the unwind-protect stack is the free of
             input_string.  We want to run all the rest and use input_string,
-            so we have to remove it from the stack. */
-         remove_unwind_protect ();
-         run_unwind_frame ("read_builtin");
+            so we have to save input_string temporarily, run the unwind-
+            protects, then restore input_string so we can use it later. */
+
          input_string[i] = '\0';       /* make sure it's terminated */
+         if (i == 0)
+           {
+             t = (char *)xmalloc (1);
+             t[0] = 0;
+           }
+         else
+           t = savestring (input_string);
+
+         run_unwind_frame ("read_builtin");
+         input_string = t;
          retval = 128+SIGALRM;
          goto assign_vars;
        }
index 10e294fbef95fac931eeac1565368a361db0c1d0..4c2cf1dd3096ff98284c071d67e20f72c3ed9ae2 100644 (file)
@@ -25,6 +25,6 @@
    regexp `^#define[   ]*PATCHLEVEL', since that's what support/mkversion.sh
    looks for to find the patch level (for the sccs version string). */
 
-#define PATCHLEVEL 42
+#define PATCHLEVEL 43
 
 #endif /* _PATCHLEVEL_H_ */