]> git.pld-linux.org Git - packages/bash.git/blame - bash42-005
up to 4.2.42
[packages/bash.git] / bash42-005
CommitLineData
74aff021
AM
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 4.2
5Patch-ID: bash42-005
6
7Bug-Reported-by: Dennis Williamson <dennistwilliamson@gmail.com>
8Bug-Reference-ID: <AANLkTikDbEV5rnbPc0zOfmZfBcg0xGetzLLzK+KjRiNa@mail.gmail.com>
9Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html
10
11Bug-Description:
12
13Systems that use tzset() to set the local timezone require the TZ variable
14to be in the environment. Bash must make sure the environment has been
15modified with any updated value for TZ before calling tzset(). This
16affects prompt string expansions and the `%T' printf conversion specification
17on systems that do not allow bash to supply a replacement for getenv(3).
18
19Patch (apply with `patch -p0'):
20
21*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500
22--- variables.h 2011-02-19 19:57:12.000000000 -0500
23***************
24*** 314,317 ****
25--- 314,318 ----
26 extern void sort_variables __P((SHELL_VAR **));
27
28+ extern int chkexport __P((char *));
29 extern void maybe_make_export_env __P((void));
30 extern void update_export_env_inplace __P((char *, int, char *));
31*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500
32--- variables.c 2011-02-19 20:04:50.000000000 -0500
33***************
34*** 3654,3657 ****
35--- 3654,3673 ----
36 }
37
38+ int
39+ chkexport (name)
40+ char *name;
41+ {
42+ SHELL_VAR *v;
43+
44+ v = find_variable (name);
45+ if (exported_p (v))
46+ {
47+ array_needs_making = 1;
48+ maybe_make_export_env ();
49+ return 1;
50+ }
51+ return 0;
52+ }
53+
54 void
55 maybe_make_export_env ()
56***************
57*** 4215,4219 ****
58 { "TEXTDOMAINDIR", sv_locale },
59
60! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
61 { "TZ", sv_tz },
62 #endif
63--- 4231,4235 ----
64 { "TEXTDOMAINDIR", sv_locale },
65
66! #if defined (HAVE_TZSET)
67 { "TZ", sv_tz },
68 #endif
69***************
70*** 4559,4568 ****
71 #endif /* HISTORY */
72
73! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
74 void
75 sv_tz (name)
76 char *name;
77 {
78! tzset ();
79 }
80 #endif
81--- 4575,4585 ----
82 #endif /* HISTORY */
83
84! #if defined (HAVE_TZSET)
85 void
86 sv_tz (name)
87 char *name;
88 {
89! if (chkexport (name))
90! tzset ();
91 }
92 #endif
93*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500
94--- parse.y 2011-02-19 20:05:00.000000000 -0500
95***************
96*** 5136,5139 ****
97--- 5136,5142 ----
98 /* Make the current time/date into a string. */
99 (void) time (&the_time);
100+ #if defined (HAVE_TZSET)
101+ sv_tz ("TZ"); /* XXX -- just make sure */
102+ #endif
103 tm = localtime (&the_time);
104
105*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500
106--- builtins/printf.def 2011-02-19 20:05:04.000000000 -0500
107***************
108*** 466,469 ****
109--- 466,472 ----
110 else
111 secs = arg;
112+ #if defined (HAVE_TZSET)
113+ sv_tz ("TZ"); /* XXX -- just make sure */
114+ #endif
115 tm = localtime (&secs);
116 n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
117*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
118--- patchlevel.h Thu Feb 24 21:41:34 2011
119***************
120*** 26,30 ****
121 looks for to find the patch level (for the sccs version string). */
122
123! #define PATCHLEVEL 4
124
125 #endif /* _PATCHLEVEL_H_ */
126--- 26,30 ----
127 looks for to find the patch level (for the sccs version string). */
128
129! #define PATCHLEVEL 5
130
131 #endif /* _PATCHLEVEL_H_ */
This page took 0.208164 seconds and 4 git commands to generate.