summaryrefslogtreecommitdiffstats
path: root/mbbsd/friend.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/friend.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/friend.c')
-rw-r--r--mbbsd/friend.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/mbbsd/friend.c b/mbbsd/friend.c
index c73932af..50f00887 100644
--- a/mbbsd/friend.c
+++ b/mbbsd/friend.c
@@ -291,10 +291,11 @@ inline void friend_load_real(int tosort, int maxf,
*destn = 0;
}
else{
+ char *strtok_pos;
tarray = (int *)malloc(sizeof(int) * maxf);
--maxf; /* 因為最後一個要填 0, 所以先扣一個回來 */
while( fgets(genbuf, STRLEN, fp) && nFriends < maxf )
- if( (p = strtok(genbuf, str_space)) &&
+ if( (p = strtok_r(genbuf, str_space, &strtok_pos)) &&
(uid = searchuser(p, NULL)) )
tarray[nFriends++] = uid;
fclose(fp);
@@ -379,9 +380,11 @@ friend_edit(int type)
move(3, 0);
column = 0;
while (fgets(genbuf, STRLEN, fp)) {
+ char *space;
if (genbuf[0] <= ' ')
continue;
- strtok(genbuf, str_space);
+ space = strpbrk(genbuf, str_space);
+ if (space) *space = '\0';
AddNameList(genbuf);
prints("%-13s", genbuf);
count++;