aboutsummaryrefslogtreecommitdiff
path: root/jim-clock.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-09-28 07:50:20 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:55 +1000
commit7f8193989dd032769e1b365404cbe103423571b5 (patch)
tree85b978be3722ebfb43b45855f995374a457d2b07 /jim-clock.c
parent9e64d4521dbf5247580929eb0a00c9f83cd311f8 (diff)
downloadjimtcl-7f8193989dd032769e1b365404cbe103423571b5.zip
jimtcl-7f8193989dd032769e1b365404cbe103423571b5.tar.gz
jimtcl-7f8193989dd032769e1b365404cbe103423571b5.tar.bz2
Make jim more reentrant
Make the exec wait table allocated and per-interpeter Use reentrant variants of some libc calls Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-clock.c')
-rw-r--r--jim-clock.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/jim-clock.c b/jim-clock.c
index a5b8d07..f5f3ed5 100644
--- a/jim-clock.c
+++ b/jim-clock.c
@@ -22,6 +22,7 @@ static int clock_cmd_format(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
char buf[100];
time_t t;
long seconds;
+ struct tm tm;
const char *format = "%a %b %d %H:%M:%S %Z %Y";
@@ -38,7 +39,7 @@ static int clock_cmd_format(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
}
t = seconds;
- strftime(buf, sizeof(buf), format, localtime(&t));
+ strftime(buf, sizeof(buf), format, localtime_r(&t, &tm));
Jim_SetResultString(interp, buf, -1);
@@ -57,7 +58,7 @@ static int clock_cmd_scan(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
}
/* Initialise with the current date/time */
- tm = *localtime(&now);
+ localtime_r(&now, &tm);
pt = strptime(Jim_GetString(argv[0], NULL), Jim_GetString(argv[2], NULL), &tm);
if (pt == 0 || *pt != 0) {