diff options
author | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2008-09-14 04:00:49 +0000 |
---|---|---|
committer | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2008-09-14 04:00:49 +0000 |
commit | 7695365a0e6ffada25b74e1ac8fa0a54bc5aa32d (patch) | |
tree | 2a7c528bb80bb87795062f60a7c6b9106deaba76 | |
parent | a97c5c7ecd9800e86882af4476e2dc6098b78cfb (diff) | |
download | lcd4linux-7695365a0e6ffada25b74e1ac8fa0a54bc5aa32d.tar.gz |
strftime_tz patch from Bernhard Walle
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@894 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
-rw-r--r-- | plugin_time.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/plugin_time.c b/plugin_time.c index bae321c..a9cca8f 100644 --- a/plugin_time.c +++ b/plugin_time.c @@ -68,6 +68,15 @@ static void my_stftime_tz(RESULT * result, RESULT * arg1, RESULT * arg2, RESULT char *old_tz; old_tz = getenv("TZ"); + + /* + * because the next setenv() call may overwrite that string, we + * duplicate it here + */ + if (old_tz) { + old_tz = strdup(old_tz); + } + setenv("TZ", tz, 1); tzset(); @@ -80,6 +89,8 @@ static void my_stftime_tz(RESULT * result, RESULT * arg1, RESULT * arg2, RESULT } tzset(); + free(old_tz); + SetResult(&result, R_STRING, value); } |