diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-05-05 17:57:21 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-05-05 17:57:21 +0800 |
commit | d74ae1e8f983520c4fa0322daeedc9bcc9304710 (patch) | |
tree | 3a04ff9fc8b8b5fee6704e695d132a7cc3f4efb0 /mbbsd/stuff.c | |
parent | b31a0e3d53ce17d4626fe125dd1e1f654a0d192c (diff) | |
download | pttbbs-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.c | 15 |
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); |