summaryrefslogtreecommitdiffstats
path: root/mbbsd/stuff.c
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-05-05 17:57:21 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-05-05 17:57:21 +0800
commitd74ae1e8f983520c4fa0322daeedc9bcc9304710 (patch)
tree3a04ff9fc8b8b5fee6704e695d132a7cc3f4efb0 /mbbsd/stuff.c
parentb31a0e3d53ce17d4626fe125dd1e1f654a0d192c (diff)
downloadpttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar.gz
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar.bz2
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar.lz
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar.xz
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.tar.zst
pttbbs-d74ae1e8f983520c4fa0322daeedc9bcc9304710.zip
- (internal) replace all localtime4() by localtime4_r().
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4272 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/stuff.c')
-rw-r--r--mbbsd/stuff.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/mbbsd/stuff.c b/mbbsd/stuff.c
index 2498fdbe..f67779a5 100644
--- a/mbbsd/stuff.c
+++ b/mbbsd/stuff.c
@@ -116,11 +116,12 @@ gettime(int line, time4_t dt, const char*head)
{
char yn[7];
int i;
- struct tm *ptime = localtime4(&dt), endtime;
+ struct tm ptime, endtime;
time_t t;
- memcpy(&endtime, ptime, sizeof(struct tm));
- snprintf(yn, sizeof(yn), "%4d", ptime->tm_year + 1900);
+ localtime4_r(&dt, &ptime);
+ endtime = ptime;
+ snprintf(yn, sizeof(yn), "%4d", ptime.tm_year + 1900);
move(line, 0); outs(head);
i=strlen(head);
do {
@@ -129,19 +130,19 @@ gettime(int line, time4_t dt, const char*head)
// unsigned: limited on (..., 1970)
// let's restrict inside the boundary.
} while ((endtime.tm_year = atoi(yn) - 1900) < 70 || endtime.tm_year > 135);
- snprintf(yn, sizeof(yn), "%d", ptime->tm_mon + 1);
+ snprintf(yn, sizeof(yn), "%d", ptime.tm_mon + 1);
do {
getdata_buf(line, i+15, "¤ë:", yn, 3, NUMECHO);
} while ((endtime.tm_mon = atoi(yn) - 1) < 0 || endtime.tm_mon > 11);
- snprintf(yn, sizeof(yn), "%d", ptime->tm_mday);
+ snprintf(yn, sizeof(yn), "%d", ptime.tm_mday);
do {
getdata_buf(line, i+24, "¤é:", yn, 3, NUMECHO);
} while ((endtime.tm_mday = atoi(yn)) < 1 || endtime.tm_mday > 31);
- snprintf(yn, sizeof(yn), "%d", ptime->tm_hour);
+ snprintf(yn, sizeof(yn), "%d", ptime.tm_hour);
do {
getdata_buf(line, i+33, "®É(0-23):", yn, 3, NUMECHO);
} while ((endtime.tm_hour = atoi(yn)) < 0 || endtime.tm_hour > 23);
- snprintf(yn, sizeof(yn), "%d", ptime->tm_min);
+ snprintf(yn, sizeof(yn), "%d", ptime.tm_min);
do {
getdata_buf(line, i+42, "¤À(0-59):", yn, 3, NUMECHO);
} while ((endtime.tm_min = atoi(yn)) < 0 || endtime.tm_min > 59);