[Ttssh2-commit] [5334] マクロエラー箇所の明確化を行うため、パース位置を変数解析に設定した。

svnno****@sourc***** svnno****@sourc*****
2013年 6月 24日 (月) 22:58:39 JST


Revision: 5334
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5334
Author:   yutakapon
Date:     2013-06-24 22:58:39 +0900 (Mon, 24 Jun 2013)
Log Message:
-----------
マクロエラー箇所の明確化を行うため、パース位置を変数解析に設定した。
ただし、完全ではなく、完全にするためには、各マクロコマンドにおいて、どこまで
パースが成功したかをいちいち設定して回らないとならない。

Modified Paths:
--------------
    trunk/teraterm/ttpmacro/ttmparse.c

-------------- next part --------------
Modified: trunk/teraterm/ttpmacro/ttmparse.c
===================================================================
--- trunk/teraterm/ttpmacro/ttmparse.c	2013-06-24 13:51:01 UTC (rev 5333)
+++ trunk/teraterm/ttpmacro/ttmparse.c	2013-06-24 13:58:39 UTC (rev 5334)
@@ -96,6 +96,7 @@
 {
 	char Msg[41];
 	int i;
+	int no, start, end;
 
 	strncpy_s(Msg, sizeof(Msg), "Unknown error message number.", _TRUNCATE);
 
@@ -122,7 +123,13 @@
 		case ErrNotSupported: strncpy_s(Msg, sizeof(Msg), "Unknown command.", _TRUNCATE); break;
 	}
 
-	i = OpenErrDlg(Msg, LineBuff, GetLineNo(), LineParsePtr, LinePtr);
+	no = GetLineNo();
+	start = LineParsePtr;
+	end = LinePtr;
+	if (start == end)
+		end = LineLen;
+
+	i = OpenErrDlg(Msg, LineBuff, no, start, end);
 	if (i==IDOK) TTLStatus = IdTTLEnd;
 }
 
@@ -1601,6 +1608,8 @@
 {
 	WORD ValType;
 
+	UpdateLineParsePtr();
+
 	if (*Err != 0) return;
 	if (! GetExpression(&ValType,Val,Err))
 	{
@@ -1670,6 +1679,7 @@
 
 void GetStrVal(PCHAR Str, LPWORD Err)
 {
+	UpdateLineParsePtr();
 	GetStrVal2(Str, Err, FALSE);
 }
 



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