[Ttssh2-commit] [6423] オプションを指定できる場所をファイル名の前だけに限定した。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2016年 7月 1日 (金) 12:14:19 JST


Revision: 6423
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6423
Author:   doda
Date:     2016-07-01 12:14:19 +0900 (Fri, 01 Jul 2016)
Log Message:
-----------
オプションを指定できる場所をファイル名の前だけに限定した。

Modified Paths:
--------------
    trunk/teraterm/ttpmacro/ttmdlg.cpp

-------------- next part --------------
Modified: trunk/teraterm/ttpmacro/ttmdlg.cpp
===================================================================
--- trunk/teraterm/ttpmacro/ttmdlg.cpp	2016-07-01 03:14:16 UTC (rev 6422)
+++ trunk/teraterm/ttpmacro/ttmdlg.cpp	2016-07-01 03:14:19 UTC (rev 6423)
@@ -76,46 +76,46 @@
 
 	// the first term shuld be executable filename of TTMACRO
 	start = GetParam(Temp, sizeof(Temp), Param);
-	j = 0;
+	ParamCnt = 0;
 
-	cur = start;
-	while (next = GetParam(Temp, sizeof(Temp), cur)) {
+	for (cur = start; next = GetParam(Temp, sizeof(Temp), cur); cur = next) {
 		DequoteParam(Temp, sizeof(Temp), Temp);
-		if (_strnicmp(Temp,"/D=",3)==0) { // DDE option
-			strncpy_s(TopicName, sizeof(TopicName), &Temp[3], _TRUNCATE);
+		if (ParamCnt == 0) {
+			if (_strnicmp(Temp,"/D=",3)==0) { // DDE option
+				strncpy_s(TopicName, sizeof(TopicName), &Temp[3], _TRUNCATE);
+				continue;
+			}
+			else if (_stricmp(Temp, "/I")==0) {
+				*IOption = TRUE;
+				continue;
+			}
+			else if (_stricmp(Temp, "/S")==0) {
+				SleepFlag = TRUE;
+				continue;
+			}
+			else if (_stricmp(Temp, "/V")==0) {
+				*VOption = TRUE;
+				continue;
+			}
 		}
-		else if (_stricmp(Temp, "/I")==0) {
-			*IOption = TRUE;
+
+		switch (++ParamCnt) {
+			case 1: strncpy_s(FileName, sizeof(FileName), Temp, _TRUNCATE); break;
+			case 2: strncpy_s(Param2,   sizeof(Param2),   Temp, _TRUNCATE); break;
+			case 3: strncpy_s(Param3,   sizeof(Param3),   Temp, _TRUNCATE); break;
+			case 4: strncpy_s(Param4,   sizeof(Param4),   Temp, _TRUNCATE); break;
+			case 5: strncpy_s(Param5,   sizeof(Param5),   Temp, _TRUNCATE); break;
+			case 6: strncpy_s(Param6,   sizeof(Param6),   Temp, _TRUNCATE); break;
+			case 7: strncpy_s(Param7,   sizeof(Param7),   Temp, _TRUNCATE); break;
+			case 8: strncpy_s(Param8,   sizeof(Param8),   Temp, _TRUNCATE); break;
+			case 9: strncpy_s(Param9,   sizeof(Param9),   Temp, _TRUNCATE); break;
+			default: ;/* nothing to do */
 		}
-		else if (_stricmp(Temp, "/S")==0) {
-			SleepFlag = TRUE;
-		}
-		else if (_stricmp(Temp, "/V")==0) {
-			*VOption = TRUE;
-		}
-		else {
-			switch (++j) {
-				case 1: strncpy_s(FileName, sizeof(FileName), Temp, _TRUNCATE); break;
-				case 2: strncpy_s(Param2,   sizeof(Param2),   Temp, _TRUNCATE); break;
-				case 3: strncpy_s(Param3,   sizeof(Param3),   Temp, _TRUNCATE); break;
-				case 4: strncpy_s(Param4,   sizeof(Param4),   Temp, _TRUNCATE); break;
-				case 5: strncpy_s(Param5,   sizeof(Param5),   Temp, _TRUNCATE); break;
-				case 6: strncpy_s(Param6,   sizeof(Param6),   Temp, _TRUNCATE); break;
-				case 7: strncpy_s(Param7,   sizeof(Param7),   Temp, _TRUNCATE); break;
-				case 8: strncpy_s(Param8,   sizeof(Param8),   Temp, _TRUNCATE); break;
-				case 9: strncpy_s(Param9,   sizeof(Param9),   Temp, _TRUNCATE); break;
-				default: ;/* nothing to do */
-			}
-		}
-		cur = next;
 	}
 
-	if (j > 9) {
+	if (ParamCnt > 9) {
 		ParamCnt = 9;
 	}
-	else {
-		ParamCnt = j;
-	}
 
 	if (FileName[0]=='*') {
 		FileName[0] = 0;



Ttssh2-commit メーリングリストの案内
Back to archive index