summaryrefslogtreecommitdiffstats
path: root/mbbsd/cache.c
diff options
context:
space:
mode:
authorkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-06-19 01:14:32 +0800
committerkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-06-19 01:14:32 +0800
commitf5649a5aed5a9fc3b31b7964087252525fca5e60 (patch)
treeb9ed59307e2eda718c057f1aa0ce016619b44f1d /mbbsd/cache.c
parent2edb2692f086fee13c46311bfcdab4eae847447c (diff)
downloadpttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar.gz
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar.bz2
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar.lz
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar.xz
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.tar.zst
pttbbs-f5649a5aed5a9fc3b31b7964087252525fca5e60.zip
* use strtok_r() instead of strtok(). fix bad strtok() usages.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3545 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/cache.c')
-rw-r--r--mbbsd/cache.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/mbbsd/cache.c b/mbbsd/cache.c
index 6c961592..f38263e8 100644
--- a/mbbsd/cache.c
+++ b/mbbsd/cache.c
@@ -805,6 +805,7 @@ void buildBMcache(int bid) /* bid starts from 1 */
{
char s[IDLEN * 3 + 3], *ptr;
int i, uid;
+ char *strtok_pos;
assert(0<=bid-1 && bid-1<MAX_BOARD);
strlcpy(s, getbcache(bid)->BM, sizeof(s));
@@ -812,9 +813,9 @@ void buildBMcache(int bid) /* bid starts from 1 */
if( !isalpha((int)s[i]) && !isdigit((int)s[i]) )
s[i] = ' ';
- for( ptr = strtok(s, " "), i = 0 ;
+ for( ptr = strtok_r(s, " ", &strtok_pos), i = 0 ;
i < MAX_BMs && ptr != NULL ;
- ptr = strtok(NULL, " "), ++i )
+ ptr = strtok_r(NULL, " ", &strtok_pos), ++i )
if( (uid = searchuser(ptr, NULL)) != 0 )
SHM->BMcache[bid-1][i] = uid;
for( ; i < MAX_BMs ; ++i )
@@ -940,6 +941,7 @@ reload_fcache(void)
bzero(SHM->home_ip, sizeof(SHM->home_ip));
if ((fp = fopen("etc/domain_name_query.cidr", "r"))) {
char buf[256], *ip, *mask;
+ char *strtok_pos;
SHM->home_num = 0;
while (fgets(buf, sizeof(buf), fp)) {
@@ -953,7 +955,7 @@ reload_fcache(void)
continue;
}
- ip = strtok(buf, " \t");
+ ip = strtok_r(buf, " \t", &strtok_pos);
if ((mask = strchr(ip, '/')) != NULL) {
int shift = 32 - atoi(mask + 1);
SHM->home_ip[SHM->home_num] = ipstr2int(ip);
@@ -963,7 +965,7 @@ reload_fcache(void)
SHM->home_ip[SHM->home_num] = ipstr2int(ip);
SHM->home_mask[SHM->home_num] = 0xFFFFFFFF;
}
- ip = strtok(NULL, " \t");
+ ip = strtok_r(NULL, " \t", &strtok_pos);
if (ip == NULL) {
strncpy(SHM->home_desc[SHM->home_num], "¶³²`¤£ª¾³B",
sizeof(SHM->home_desc[SHM->home_num]));