[Ttssh2-commit] [4028] strsplit で count を超えて分割できる場合、残った文字を最後の変数に全部入れるようにした

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 8月 21日 (土) 01:30:43 JST


Revision: 4028
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4028
Author:   maya
Date:     2010-08-21 01:30:43 +0900 (Sat, 21 Aug 2010)

Log Message:
-----------
strsplit で count を超えて分割できる場合、残った文字を最後の変数に全部入れるようにした

Modified Paths:
--------------
    trunk/doc/en/html/macro/command/strsplit.html
    trunk/doc/ja/html/macro/command/strsplit.html
    trunk/teraterm/ttpmacro/ttl.c


-------------- next part --------------
Modified: trunk/doc/en/html/macro/command/strsplit.html
===================================================================
--- trunk/doc/en/html/macro/command/strsplit.html	2010-08-20 15:45:52 UTC (rev 4027)
+++ trunk/doc/en/html/macro/command/strsplit.html	2010-08-20 16:30:43 UTC (rev 4028)
@@ -74,7 +74,7 @@
 messagebox groupmatchstr4 "groupmatchstr4" ; 'Mon'
 messagebox groupmatchstr5 "groupmatchstr5" ; 'Tue'
 messagebox groupmatchstr6 "groupmatchstr6" ; ''
-messagebox groupmatchstr7 "groupmatchstr7" ; 'Thu'
+messagebox groupmatchstr7 "groupmatchstr7" ; 'Thu,Fri,Sat'
 messagebox groupmatchstr8 "groupmatchstr8" ; ''
 messagebox groupmatchstr9 "groupmatchstr9" ; ''
 

Modified: trunk/doc/ja/html/macro/command/strsplit.html
===================================================================
--- trunk/doc/ja/html/macro/command/strsplit.html	2010-08-20 15:45:52 UTC (rev 4027)
+++ trunk/doc/ja/html/macro/command/strsplit.html	2010-08-20 16:30:43 UTC (rev 4028)
@@ -74,7 +74,7 @@
 messagebox groupmatchstr4 "groupmatchstr4" ; 'Mon'
 messagebox groupmatchstr5 "groupmatchstr5" ; 'Tue'
 messagebox groupmatchstr6 "groupmatchstr6" ; ''
-messagebox groupmatchstr7 "groupmatchstr7" ; 'Thu'
+messagebox groupmatchstr7 "groupmatchstr7" ; 'Thu,Fri,Sat'
 messagebox groupmatchstr8 "groupmatchstr8" ; ''
 messagebox groupmatchstr9 "groupmatchstr9" ; ''
 

Modified: trunk/teraterm/ttpmacro/ttl.c
===================================================================
--- trunk/teraterm/ttpmacro/ttl.c	2010-08-20 15:45:52 UTC (rev 4027)
+++ trunk/teraterm/ttpmacro/ttl.c	2010-08-20 16:30:43 UTC (rev 4028)
@@ -3631,9 +3631,9 @@
 	WORD Err;
 	int maxvar, sp;
 	int srclen, len;
-	int i;
+	int i, count;
 	char *p;
-	char *last, *tok[MAXVARNUM];
+	char /* *last, */ *tok[MAXVARNUM];
 
 	Err = 0;
 	GetStrVal(src,&Err);
@@ -3664,8 +3664,9 @@
 		return ErrSyntax;
 
 	srclen = strlen(src);
-	strcpy_s(buf, MaxStrLen, src);  /* strtok‚Å”j‰ó‚³‚ê‚Ä‚à‚¢‚¢‚悤‚ɁAƒRƒs[ƒoƒbƒtƒ@‚ðŽg‚¤B*/
+	strcpy_s(buf, MaxStrLen, src);  /* ”j‰ó‚³‚ê‚Ä‚à‚¢‚¢‚悤‚ɁAƒRƒs[ƒoƒbƒtƒ@‚ðŽg‚¤B*/
 
+#if 0
 	// ƒg[ƒNƒ“‚̐؂èo‚µ‚ðs‚¤B
 	memset(tok, 0, sizeof(tok));
 #if 0
@@ -3697,13 +3698,28 @@
 		}
 	}
 #endif
+#else
+	p = buf;
+	count = 1;
+	tok[count-1] = p;
+	for (i=0; i < srclen && count < maxvar; i++) {
+		if (*p == *delimchars) {
+			*p = '\0';
+			count++;
+			tok[count-1] = p+1;
+		}
+		p++;
+	}
+#endif
 
-end:
+//end:
 	// Œ‹‰Ê‚ÌŠi”[
-	for (i = 0 ; i < MAXVARNUM ; i++) {
-		SetGroupMatchStr(i+1, tok[i]);
+	for (i = 1 ; i <= count ; i++) {
+		SetGroupMatchStr(i, tok[i-1]);
 	}
-
+	for (i = count+1 ; i <= MAXVARNUM ; i++) {
+		SetGroupMatchStr(i, "");
+	}
 	return Err;
 #undef MAXVARNUM
 }



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