[Ttssh2-commit] [5278] URL が行末で終わっている時に次の行頭の文字が URL の続きとして扱われていた問題を修正。

svnno****@sourc***** svnno****@sourc*****
2013年 5月 24日 (金) 17:45:38 JST


Revision: 5278
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5278
Author:   doda
Date:     2013-05-24 17:45:38 +0900 (Fri, 24 May 2013)
Log Message:
-----------
URL が行末で終わっている時に次の行頭の文字が URL の続きとして扱われていた問題を修正。

Modified Paths:
--------------
    trunk/teraterm/teraterm/buffer.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/buffer.c
===================================================================
--- trunk/teraterm/teraterm/buffer.c	2013-05-24 07:31:38 UTC (rev 5277)
+++ trunk/teraterm/teraterm/buffer.c	2013-05-24 08:45:38 UTC (rev 5278)
@@ -1491,6 +1491,8 @@
 static void markURL(int x)
 {
 #ifdef URL_EMPHASIS
+	CHAR PrevCharAttr;
+
 	// RFC3986(Uniform Resource Identifier (URI): Generic Syntax)\x82ɏ\x80\x8B\x92\x82\xB7\x82\xE9
 	// by sakura editor 1.5.2.1: etc_uty.cpp
 	static const char	url_char[] = {
@@ -1528,9 +1530,10 @@
 	// TODO: 1\x82‘O\x82̍s\x82̏I\x92[\x95\xB6\x8E\x9A\x82\xAA URL \x82̈ꕔ\x82Ȃ\xE7\x81A\x8B\xAD\x90\xA7\x93I\x82Ɍ\xBB\x8D݂̍s\x93\xAA\x95\xB6\x8E\x9A\x82\xE0URL\x82̈ꕔ\x82Ƃ݂Ȃ\xB7\x81B
 	// (2005.4.3 yutaka)
 	if (x == 0) {
-		if (AttrLine > AttrBuff && (AttrLine[x-1] & AttrURL)) {
+		PrevCharAttr = AttrBuff[PrevLinePtr(LinePtr) + NumOfColumns-1];
+		if ((PrevCharAttr & AttrURL) && (AttrLine[0] & AttrLineContinued)) {
 			if (!(ch & 0x80 || url_char[ch]==0)) { // \x82\xA9\x82\xC2URL\x8D\\x90\xAC\x95\xB6\x8E\x9A\x82Ȃ\xE7
-				AttrLine[x] |= AttrURL; 
+				AttrLine[0] |= AttrURL; 
 			}
 		}
 		return;



Ttssh2-commit メーリングリストの案内