From f3b056046dab4ac2fc5d5a7d66226046fe3cee3b Mon Sep 17 00:00:00 2001
From: piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>
Date: Sat, 4 Jun 2005 14:51:50 +0000
Subject: pmore: fixed ansi display with long lines

git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2761 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
---
 mbbsd/pmore.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c
index f9e727d0..16c89f7e 100644
--- a/mbbsd/pmore.c
+++ b/mbbsd/pmore.c
@@ -873,7 +873,12 @@ mf_disp()
 			outc(*mf.dispe);
 		} else {
 		    if(*mf.dispe == ESC_CHR)
+		    {
 			inAnsi = 1;
+			/* we can't output now because maybe
+			 * ptt_prints wants to do something.
+			 */
+		    }
 		    else if(srlen < 0 && sr.search_str[0] && // support search
 			    //tolower(sr.search_str[0]) == tolower(*mf.dispe) &&
 			    mf.end - mf.dispe > sr.len &&
@@ -914,7 +919,11 @@ mf_disp()
 			inAnsi = 0;
 		    } else
 #endif
+		    if(inAnsi)
 		    {
+			// outc(*mf.dispe);
+			outc(ESC_CHR);
+		    } else {
 			int canOutput = 0;
 			/* if col > maxcol,
 			 * because we have the space for
@@ -976,7 +985,8 @@ mf_disp()
 				break;
 			}
 
-			if(!inAnsi)
+			// we MUST be !inAnsi in this block.
+			//if(!inAnsi)
 			{
 			    col++;
 			    if (srlen == 0)
-- 
cgit v1.2.3