patch #977897 by Anders - IntOp shr & shl

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3576 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2004-06-25 15:24:20 +00:00
parent d05b8bc6ad
commit d1f241e6c8
3 changed files with 9 additions and 5 deletions

View file

@ -4566,11 +4566,13 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
case TOK_INTOP:
ent.which=EW_INTOP;
ent.offsets[0]=GetUserVarIndex(line, 1);
ent.offsets[3]=line.gettoken_enum(3,"+\0-\0*\0/\0|\0&\0^\0!\0||\0&&\0%\0~\0");
if (ent.offsets[0] < 0 || ent.offsets[3]<0 || ((ent.offsets[3] == 7 || ent.offsets[3]==11) && line.getnumtokens()>4)) PRINTHELP()
ent.offsets[3]=line.gettoken_enum(3,"+\0-\0*\0/\0|\0&\0^\0!\0||\0&&\0%\0<<\0>>\0~\0");
if (ent.offsets[0] < 0 || ent.offsets[3] < 0 ||
((ent.offsets[3] == 7 || ent.offsets[3] == 13) && line.getnumtokens() > 4))
PRINTHELP()
ent.offsets[1]=add_string(line.gettoken_str(2));
if (ent.offsets[3] != 7 && ent.offsets[3] != 11) ent.offsets[2]=add_string(line.gettoken_str(4));
if (ent.offsets[3] == 11) {
if (ent.offsets[3] != 7 && ent.offsets[3] != 13) ent.offsets[2]=add_string(line.gettoken_str(4));
if (ent.offsets[3] == 13) {
ent.offsets[3]=6;
ent.offsets[2]=add_string("0xFFFFFFFF");
}