svnno****@sourc*****
svnno****@sourc*****
2013年 3月 22日 (金) 19:06:07 JST
Revision: 5155 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5155 Author: maya Date: 2013-03-22 19:06:04 +0900 (Fri, 22 Mar 2013) Log Message: ----------- マクロコマンドの引数に配列変数そのものを受け取れるように調整 Modified Paths: -------------- trunk/teraterm/ttpmacro/ttmparse.c trunk/teraterm/ttpmacro/ttmparse.h -------------- next part -------------- Modified: trunk/teraterm/ttpmacro/ttmparse.c =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.c 2013-03-22 03:12:27 UTC (rev 5154) +++ trunk/teraterm/ttpmacro/ttmparse.c 2013-03-22 10:06:04 UTC (rev 5155) @@ -1823,3 +1823,55 @@ { return ((VarId>>16)-1); } + +void GetIntAryVar(PVarId VarId, LPWORD Err) +{ + TName Name; + WORD VarType; + + if (*Err!=0) return; + + if (GetIdentifier(Name)) { + if (CheckVar(Name, &VarType, VarId)) { + if (VarType != TypIntArray) { + *Err = ErrTypeMismatch; + } + } + else { + *Err = ErrTypeMismatch; + } + } + else + *Err = ErrSyntax; +} + +void GetStrAryVar(PVarId VarId, LPWORD Err) +{ + TName Name; + WORD VarType; + + if (*Err!=0) return; + + if (GetIdentifier(Name)) { + if (CheckVar(Name, &VarType, VarId)) { + if (VarType != TypStrArray) { + *Err = ErrTypeMismatch; + } + } + else { + *Err = ErrTypeMismatch; + } + } + else + *Err = ErrSyntax; +} + +int GetIntAryVarSize(TVarId VarId) +{ + return IntAryVal[VarId].size; +} + +int GetStrAryVarSize(TVarId VarId) +{ + return StrAryVal[VarId].size; +} Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2013-03-22 03:12:27 UTC (rev 5154) +++ trunk/teraterm/ttpmacro/ttmparse.h 2013-03-22 10:06:04 UTC (rev 5155) @@ -312,6 +312,10 @@ TVarId GetStrVarFromArray(TVarId VarId, int Index, LPWORD Err); BOOL GetIndex(int *Index, LPWORD Err); TVarId GetArrayVarId(TVarId VarId); +void GetIntAryVar(PVarId VarId, LPWORD Err); +void GetStrAryVar(PVarId VarId, LPWORD Err); +int GetIntAryVarSize(TVarId VarId); +int GetStrAryVarSize(TVarId VarId); extern WORD TTLStatus; extern char LineBuff[MaxLineLen];