applied patch #1381929 - StrCmpS - case-sensitive string comparison

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4468 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2006-01-06 16:00:15 +00:00
parent 817378e7e3
commit 58b07e69c6
6 changed files with 23 additions and 4 deletions

View file

@ -581,10 +581,18 @@ static int NSISCALL ExecuteEntry(entry *entry_)
}
}
break;
case EW_STRCMP: {
case EW_STRCMP:
{
char *buf2=GetStringFromParm(0x20);
char *buf3=GetStringFromParm(0x31);
if (!lstrcmpi(buf2,buf3)) return parm2;
if (!parm4) {
// case insensitive
if (!lstrcmpi(buf2,buf3)) return parm2;
}
else {
// case sensitive
if (!lstrcmp(buf2,buf3)) return parm2;
}
}
return parm3;
#endif//NSIS_SUPPORT_STROPTS

View file

@ -73,7 +73,7 @@ enum
#ifdef NSIS_SUPPORT_STROPTS
EW_STRLEN, // StrLen: 2 [output, input]
EW_ASSIGNVAR, // Assign: 4 [variable (0-9) to assign, string to assign, maxlen, startpos]
EW_STRCMP, // StrCmp: 4 [str1, str2, jump_if_equal, jump_if_not_equal] (case-insensitive)
EW_STRCMP, // StrCmp: 5 [str1, str2, jump_if_equal, jump_if_not_equal, case-sensitive?]
#endif
#ifdef NSIS_SUPPORT_ENVIRONMENT
EW_READENVSTR, // ReadEnvStr/ExpandEnvStrings: 3 [output, string_with_env_variables, IsRead]