diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2012-04-16 10:09:26 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2012-04-16 10:09:26 +0800 |
commit | 180e00d377db388878adfb1b748e95ee993293a6 (patch) | |
tree | 580ae1fe24dba87c207fd4c9c00ca9b6f84a7a5b | |
parent | e7220a4977a2e1eeabebe054ba6ef331ca335190 (diff) | |
download | pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar.gz pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar.bz2 pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar.lz pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar.xz pttbbs-180e00d377db388878adfb1b748e95ee993293a6.tar.zst pttbbs-180e00d377db388878adfb1b748e95ee993293a6.zip |
Fix SMS save/clear.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5660 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/talk.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pttbbs/mbbsd/talk.c b/pttbbs/mbbsd/talk.c index e656f80d..11fa147c 100644 --- a/pttbbs/mbbsd/talk.c +++ b/pttbbs/mbbsd/talk.c @@ -1105,14 +1105,16 @@ int t_display(void) { char genbuf[PATHLEN], ans[4]; if (fp_writelog) { - fflush(fp_writelog); + // Why not simply fflush here? Because later when user enter (M) or (C), + // fp_writelog must be re-opened -- and there will be a race condition. + fclose(fp_writelog); + fp_writelog = NULL; } setuserfile(genbuf, fn_writelog); - if (dashs(genbuf) < 1) { + if (more(genbuf, YEA) == -1) { vmsg("¼ÈµL°T®§°O¿ý"); return FULLUPDATE; - } - if (more(genbuf, YEA) != -1) { + } else { grayout(0, b_lines-5, GRAYOUT_DARK); move(b_lines - 4, 0); clrtobot(); |