Bash-4.2 patch 5

This commit is contained in:
Chet Ramey 2011-11-22 20:00:19 -05:00
commit 2bbe80583b
5 changed files with 28 additions and 4 deletions

View file

@ -465,6 +465,9 @@ printf_builtin (list)
secs = shell_start_time; /* roughly $SECONDS */
else
secs = arg;
#if defined (HAVE_TZSET)
sv_tz ("TZ"); /* XXX -- just make sure */
#endif
tm = localtime (&secs);
n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
free (timefmt);

View file

@ -5135,6 +5135,9 @@ decode_prompt_string (string)
case 'A':
/* Make the current time/date into a string. */
(void) time (&the_time);
#if defined (HAVE_TZSET)
sv_tz ("TZ"); /* XXX -- just make sure */
#endif
tm = localtime (&the_time);
if (c == 'd')

View 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 4
#define PATCHLEVEL 5
#endif /* _PATCHLEVEL_H_ */

View file

@ -3653,6 +3653,22 @@ n_shell_variables ()
return n;
}
int
chkexport (name)
char *name;
{
SHELL_VAR *v;
v = find_variable (name);
if (exported_p (v))
{
array_needs_making = 1;
maybe_make_export_env ();
return 1;
}
return 0;
}
void
maybe_make_export_env ()
{
@ -4214,7 +4230,7 @@ static struct name_and_function special_vars[] = {
{ "TEXTDOMAIN", sv_locale },
{ "TEXTDOMAINDIR", sv_locale },
#if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
#if defined (HAVE_TZSET)
{ "TZ", sv_tz },
#endif
@ -4558,12 +4574,13 @@ sv_histtimefmt (name)
}
#endif /* HISTORY */
#if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
#if defined (HAVE_TZSET)
void
sv_tz (name)
char *name;
{
tzset ();
if (chkexport (name))
tzset ();
}
#endif

View file

@ -313,6 +313,7 @@ extern void set_func_auto_export __P((const char *));
extern void sort_variables __P((SHELL_VAR **));
extern int chkexport __P((char *));
extern void maybe_make_export_env __P((void));
extern void update_export_env_inplace __P((char *, int, char *));
extern void put_command_name_into_env __P((char *));