summaryrefslogtreecommitdiffstats
path: root/mbbsd/vote.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/vote.c')
-rw-r--r--mbbsd/vote.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/mbbsd/vote.c b/mbbsd/vote.c
index 0bc47449..f87ba9ac 100644
--- a/mbbsd/vote.c
+++ b/mbbsd/vote.c
@@ -129,6 +129,32 @@ b_suckinfile(FILE * fp, char *fname)
}
}
+void
+b_suckinfile_invis(FILE * fp, char *fname, const char *boardname)
+{
+ FILE *sfp;
+
+ if ((sfp = fopen(fname, "r"))) {
+ char inbuf[256];
+ if(fgets(inbuf, sizeof(inbuf), sfp))
+ {
+ /* first time, try if boardname revealed. */
+ char *post = strstr(inbuf, str_post1);
+ if(!post) post = strstr(inbuf, str_post2);
+ if(post) post = strstr(post, boardname);
+ if(post) {
+ /* found releaved stuff. */
+ while(*boardname++)
+ *post++ = '?';
+ }
+ fputs(inbuf, fp);
+ while (fgets(inbuf, sizeof(inbuf), sfp))
+ fputs(inbuf, fp);
+ }
+ fclose(sfp);
+ }
+}
+
static void
b_count(const char *buf, int counts[], short item_num, int *total)
{