From 70dfe52e0ce1739dab5daff7308892d828c705c4 Mon Sep 17 00:00:00 2001
From: piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>
Date: Mon, 31 Dec 2007 04:40:51 +0000
Subject: - better flush/synchronization flow

git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3767 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
---
 mbbsd/io.c         |  2 ++
 mbbsd/pfterm.c     |  3 ++-
 mbbsd/pmore.c      |  9 +++++++--
 sample/pttbbs.conf | 10 +++++++---
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/mbbsd/io.c b/mbbsd/io.c
index c35af7c7..8cf3999c 100644
--- a/mbbsd/io.c
+++ b/mbbsd/io.c
@@ -88,6 +88,8 @@ oflush(void)
 	szLastOutput = 0; 
     }
 #endif // DBG_OUTRPT
+
+    fsync(1);
 }
 
 void
diff --git a/mbbsd/pfterm.c b/mbbsd/pfterm.c
index a7c81105..162e2459 100644
--- a/mbbsd/pfterm.c
+++ b/mbbsd/pfterm.c
@@ -863,8 +863,9 @@ refresh(void)
 		}
 	}
 
-	fterm_dupe2bk();
+	// doing rawcursor() earlier to enable max display time
 	fterm_rawcursor();
+	fterm_dupe2bk();
 	ft.dirty = 0;
 }
 
diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c
index ae360c1f..44a405c6 100644
--- a/mbbsd/pmore.c
+++ b/mbbsd/pmore.c
@@ -1838,6 +1838,11 @@ pmore(char *fpath, int promptend)
 
 		mf_moviePromptPlaying(0);
 
+		// doing refresh() here is better,
+		// to prevent that we forgot to refresh
+		// in SyncFrame.
+		refresh();
+
 		if(mf_movieSyncFrame())
 		{
 		    /* user did not hit anything.
@@ -3481,14 +3486,14 @@ int mf_movieSyncFrame()
 	if(dv.tv_sec < 0)
 	    return 1;
 
-	return !pmore_wait_key(&dv, 1);
+	return !pmore_wait_key(&dv, 0);
     } else {
 	/* synchronize each frame clock model */
 	/* because Linux will change the timeval passed to select,
 	 * let's use a temp value here.
 	 */
 	struct timeval dv = mfmovie.frameclk;
-	return !pmore_wait_key(&dv, 1);
+	return !pmore_wait_key(&dv, 0);
     }
 }
 
diff --git a/sample/pttbbs.conf b/sample/pttbbs.conf
index 734bf743..b54c4c5d 100644
--- a/sample/pttbbs.conf
+++ b/sample/pttbbs.conf
@@ -47,7 +47,7 @@
 #define GLOBAL_BUGREPORT    BBSMNAME "Bug"
 /* �k�߶D�^���O */
 #define GLOBAL_LAW	    BBSMNAME "Law"
-/* �s��O */
+/* �s��O(�|�۰ʶi�ڪ��̷R) */
 #define GLOBAL_NEWBIE	    BBSMNAME "NewHand"
 /* �~��O */
 #define GLOBAL_FOREIGN	    BBSMNAME "Foreign"
@@ -72,7 +72,11 @@
 
 
 /* �̤j�s����, �H�����c�N�ϥΪ� post ���j�峹 */
-#define MAX_EDIT_LINE   2048
+#define MAX_EDIT_LINE	    (2048)
+#define MAX_EDIT_LINE_LARGE (32000)
+
+/* �Y�w�q�h�ҥέפ�۰ʦX�֨t�� */
+#define EDITPOST_SMARTMERGE
 
 /* �Y�w�q, �h�i�H�K�O���� */
 #define HAVE_FREECLOAK  1
@@ -248,7 +252,7 @@
 /* �Y�w�q, �s�O�]�w�۰ʶ}�O���A���L USE_AUTOCPLOG �٬O�n�}�~���� */
 #define DEFAULT_AUTOCPLOG
 
-/* �Y�w�q�A�֩󦹼ƥت������N���}�o�� */
+/* �Y�w�q�A�֩󦹼ƥت������N���}�o���A�]������ */
 #define VICE_MIN (100)
 
 /* �ذe�H�c */
-- 
cgit v1.2.3