From c4456f1c3aa1f21235559aef7b38820a75cde7a9 Mon Sep 17 00:00:00 2001 From: wens Date: Mon, 16 Jun 2008 04:58:37 +0000 Subject: ToggleNameList like function for Vector git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4361 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/name.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'mbbsd/name.c') diff --git a/mbbsd/name.c b/mbbsd/name.c index 064985c9..fd5a1976 100644 --- a/mbbsd/name.c +++ b/mbbsd/name.c @@ -208,6 +208,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) { -- cgit v1.2.3