summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2012-04-16 10:09:26 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2012-04-16 10:09:26 +0800
commit180e00d377db388878adfb1b748e95ee993293a6 (patch)
tree580ae1fe24dba87c207fd4c9c00ca9b6f84a7a5b
parente7220a4977a2e1eeabebe054ba6ef331ca335190 (diff)
downloadpttbbs-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.c10
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();