Revision: 8710 https://osdn.net/projects/ttssh2/scm/svn/commits/8710 Author: zmatsuo Date: 2020-04-12 00:57:03 +0900 (Sun, 12 Apr 2020) Log Message: ----------- 正規表現マクロコマンドを正しく動作するよう修正 - strreplace - regexoption - デフォルトを変更 ENCODING_ASCII -> ENCODING_UTF8 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttl.cpp trunk/teraterm/ttpmacro/ttmdde.c -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttl.cpp =================================================================== --- trunk/teraterm/ttpmacro/ttl.cpp 2020-04-11 15:56:55 UTC (rev 8709) +++ trunk/teraterm/ttpmacro/ttl.cpp 2020-04-11 15:57:03 UTC (rev 8710) @@ -4623,12 +4623,10 @@ WORD TTLStrReplace() { WORD Err, VarType; - TVarId VarId; + TVarId DestVarId; TStrVal oldstr; TStrVal newstr; TStrVal tmpstr; - const char *srcptr; - const char *matchptr; char *p; int srclen, oldlen, matchlen; int pos, ret; @@ -4635,7 +4633,7 @@ int result = 0; Err = 0; - GetStrVar(&VarId,&Err); + GetStrVar(&DestVarId,&Err); GetIntVal(&pos,&Err); GetStrVal(oldstr,&Err); GetStrVal(newstr,&Err); @@ -4643,7 +4641,7 @@ Err = ErrSyntax; if (Err!=0) return Err; - srcptr = StrVarPtr(VarId); + const char *srcptr = StrVarPtr(DestVarId); srclen = strlen(srcptr); if (pos > srclen || pos <= 0) { @@ -4673,9 +4671,10 @@ } ret--; - if (CheckVar("matchstr",&VarType,&VarId) && + TVarId MatchVarId; + if (CheckVar("matchstr",&VarType,&MatchVarId) && (VarType==TypString)) { - matchptr = StrVarPtr(VarId); + const char *matchptr = StrVarPtr(MatchVarId); matchlen = strlen(matchptr); } else { result = 0; @@ -4686,7 +4685,7 @@ strncpy_s(dest, sizeof(dest), tmpstr, pos + ret); strncat_s(dest, sizeof(dest), newstr, _TRUNCATE); strncat_s(dest, sizeof(dest), tmpstr + pos + ret + matchlen, _TRUNCATE); - SetStrVal(VarId, dest); + SetStrVal(DestVarId, dest); result = 1; Modified: trunk/teraterm/ttpmacro/ttmdde.c =================================================================== --- trunk/teraterm/ttpmacro/ttmdde.c 2020-04-11 15:56:55 UTC (rev 8709) +++ trunk/teraterm/ttpmacro/ttmdde.c 2020-04-11 15:57:03 UTC (rev 8710) @@ -55,7 +55,7 @@ BOOL Wait2Found; OnigOptionType RegexOpt = ONIG_OPTION_NONE; -OnigEncoding RegexEnc = ONIG_ENCODING_ASCII; +OnigEncoding RegexEnc = ONIG_ENCODING_UTF8; OnigSyntaxType *RegexSyntax = ONIG_SYNTAX_RUBY; #define ServiceName "TERATERM"