diff options
author | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-06-16 12:58:37 +0800 |
---|---|---|
committer | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2008-06-16 12:58:37 +0800 |
commit | c4456f1c3aa1f21235559aef7b38820a75cde7a9 (patch) | |
tree | 4abdb069264de3b228fbf1bbf77857f79622f454 /mbbsd | |
parent | a9d1a59dae2fe2a7997f7d5bf9eea7fe57dba66a (diff) | |
download | pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar.gz pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar.bz2 pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar.lz pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar.xz pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.tar.zst pttbbs-c4456f1c3aa1f21235559aef7b38820a75cde7a9.zip |
ToggleNameList like function for Vector
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4361 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/name.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/mbbsd/name.c b/mbbsd/name.c index 064985c9..fd5a1976 100644 --- a/mbbsd/name.c +++ b/mbbsd/name.c @@ -209,6 +209,31 @@ ShowNameList(int row, int column, const char *prompt) } void +ToggleVector(struct Vector *list, int *recipient, const char *listfile, const char *msg) +{ + FILE *fp; + char genbuf[STRLEN]; + + if ((fp = fopen(listfile, "r"))) { + while (fgets(genbuf, sizeof(genbuf), fp)) { + char *space = strpbrk(genbuf, str_space); + if (space) *space = '\0'; + if (!genbuf[0]) + continue; + if (!Vector_search(list, genbuf)) { + Vector_add(list, genbuf); + (*recipient)++; + } else { + Vector_remove(list, genbuf); + (*recipient)--; + } + } + fclose(fp); + ShowVector(list, 3, 0, msg); + } +} + +void ToggleNameList(int *reciper, const char *listfile, const char *msg) { FILE *fp; |