]>
Commit | Line | Data |
---|---|---|
39cb2ba7 AM |
1 | BASH PATCH REPORT |
2 | ================= | |
3 | ||
4 | Bash-Release: 4.0 | |
5 | Patch-ID: bash40-009 | |
6 | ||
7 | Bug-Reported-by: "Chris F.A. Johnson" <cfajohnson@gmail.com> | |
8 | Bug-Reference-ID: <4d6b7$49a88cec$cef88ba3$16813@TEKSAVVY.COM> | |
9 | Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00255.html | |
10 | ||
11 | Bug-Description: | |
12 | ||
13 | When the read builtin returned due to a timeout supplied with the -t option, | |
14 | it did not restore any modified terminal attribtues. | |
15 | ||
16 | Patch: | |
17 | ||
18 | *** ../bash-4.0/builtins/read.def 2009-01-15 23:11:21.000000000 -0500 | |
19 | --- builtins/read.def 2009-03-02 10:15:39.000000000 -0500 | |
20 | *************** | |
21 | *** 370,381 **** | |
22 | if (code) | |
23 | { | |
24 | ! #if 0 | |
25 | run_unwind_frame ("read_builtin"); | |
26 | - return (EXECUTION_FAILURE); | |
27 | - #else | |
28 | input_string[i] = '\0'; /* make sure it's terminated */ | |
29 | ! retval = 128+SIGALRM;; | |
30 | goto assign_vars; | |
31 | - #endif | |
32 | } | |
33 | old_alrm = set_signal_handler (SIGALRM, sigalrm); | |
34 | --- 370,381 ---- | |
35 | if (code) | |
36 | { | |
37 | ! /* Tricky. The top of the unwind-protect stack is the free of | |
38 | ! input_string. We want to run all the rest and use input_string, | |
39 | ! so we have to remove it from the stack. */ | |
40 | ! remove_unwind_protect (); | |
41 | run_unwind_frame ("read_builtin"); | |
42 | input_string[i] = '\0'; /* make sure it's terminated */ | |
43 | ! retval = 128+SIGALRM; | |
44 | goto assign_vars; | |
45 | } | |
46 | old_alrm = set_signal_handler (SIGALRM, sigalrm); | |
47 | *** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 | |
48 | --- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 | |
49 | *************** | |
50 | *** 26,30 **** | |
51 | looks for to find the patch level (for the sccs version string). */ | |
52 | ||
53 | ! #define PATCHLEVEL 8 | |
54 | ||
55 | #endif /* _PATCHLEVEL_H_ */ | |
56 | --- 26,30 ---- | |
57 | looks for to find the patch level (for the sccs version string). */ | |
58 | ||
59 | ! #define PATCHLEVEL 9 | |
60 | ||
61 | #endif /* _PATCHLEVEL_H_ */ |