• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Tera Termの個人的な作業用リポジトリ


Commit MetaInfo

修订版223bb214b3f88b903ca1719befafcd1d6d7d612a (tree)
时间2020-04-12 00:57:03
作者zmatsuo <zmatsuo@user...>
Commiterzmatsuo

Log Message

正規表現マクロコマンドを正しく動作するよう修正

- strreplace
- regexoption

- デフォルトを変更 ENCODING_ASCII -> ENCODING_UTF8

git-svn-id: svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk@8710 f5f01b69-1e22-0410-acbf-894ab4bd6246

更改概述

差异

--- a/teraterm/ttpmacro/ttl.cpp
+++ b/teraterm/ttpmacro/ttl.cpp
@@ -4623,19 +4623,17 @@ WORD TTLStrRemove()
46234623 WORD TTLStrReplace()
46244624 {
46254625 WORD Err, VarType;
4626- TVarId VarId;
4626+ TVarId DestVarId;
46274627 TStrVal oldstr;
46284628 TStrVal newstr;
46294629 TStrVal tmpstr;
4630- const char *srcptr;
4631- const char *matchptr;
46324630 char *p;
46334631 int srclen, oldlen, matchlen;
46344632 int pos, ret;
46354633 int result = 0;
46364634
46374635 Err = 0;
4638- GetStrVar(&VarId,&Err);
4636+ GetStrVar(&DestVarId,&Err);
46394637 GetIntVal(&pos,&Err);
46404638 GetStrVal(oldstr,&Err);
46414639 GetStrVal(newstr,&Err);
@@ -4643,7 +4641,7 @@ WORD TTLStrReplace()
46434641 Err = ErrSyntax;
46444642 if (Err!=0) return Err;
46454643
4646- srcptr = StrVarPtr(VarId);
4644+ const char *srcptr = StrVarPtr(DestVarId);
46474645 srclen = strlen(srcptr);
46484646
46494647 if (pos > srclen || pos <= 0) {
@@ -4673,9 +4671,10 @@ WORD TTLStrReplace()
46734671 }
46744672 ret--;
46754673
4676- if (CheckVar("matchstr",&VarType,&VarId) &&
4674+ TVarId MatchVarId;
4675+ if (CheckVar("matchstr",&VarType,&MatchVarId) &&
46774676 (VarType==TypString)) {
4678- matchptr = StrVarPtr(VarId);
4677+ const char *matchptr = StrVarPtr(MatchVarId);
46794678 matchlen = strlen(matchptr);
46804679 } else {
46814680 result = 0;
@@ -4686,7 +4685,7 @@ WORD TTLStrReplace()
46864685 strncpy_s(dest, sizeof(dest), tmpstr, pos + ret);
46874686 strncat_s(dest, sizeof(dest), newstr, _TRUNCATE);
46884687 strncat_s(dest, sizeof(dest), tmpstr + pos + ret + matchlen, _TRUNCATE);
4689- SetStrVal(VarId, dest);
4688+ SetStrVal(DestVarId, dest);
46904689
46914690 result = 1;
46924691
--- a/teraterm/ttpmacro/ttmdde.c
+++ b/teraterm/ttpmacro/ttmdde.c
@@ -55,7 +55,7 @@ TStrVal Wait2Str;
5555 BOOL Wait2Found;
5656
5757 OnigOptionType RegexOpt = ONIG_OPTION_NONE;
58-OnigEncoding RegexEnc = ONIG_ENCODING_ASCII;
58+OnigEncoding RegexEnc = ONIG_ENCODING_UTF8;
5959 OnigSyntaxType *RegexSyntax = ONIG_SYNTAX_RUBY;
6060
6161 #define ServiceName "TERATERM"