Plugin calls can now use /NOUNLOAD too
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@816 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
e00de969c1
commit
dcc051e505
1 changed files with 9 additions and 1 deletions
|
@ -3460,8 +3460,15 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
||||||
else command = line.gettoken_str(0);
|
else command = line.gettoken_str(0);
|
||||||
SCRIPT_MSG("Plugin Command: %s",command);
|
SCRIPT_MSG("Plugin Command: %s",command);
|
||||||
|
|
||||||
|
int i = 1;
|
||||||
|
int nounload = 0;
|
||||||
|
if (!lstrcmpi(line.gettoken_str(i), "/NOUNLOAD")) {
|
||||||
|
i++;
|
||||||
|
nounload++;
|
||||||
|
}
|
||||||
|
|
||||||
// First push dll args
|
// First push dll args
|
||||||
for (int i = 1; i < line.getnumtokens(); i++) {
|
for (; i < line.getnumtokens(); i++) {
|
||||||
ent.which=EW_PUSHPOP;
|
ent.which=EW_PUSHPOP;
|
||||||
ent.offsets[0]=add_string(line.gettoken_str(i));
|
ent.offsets[0]=add_string(line.gettoken_str(i));
|
||||||
ent.offsets[1]=0;
|
ent.offsets[1]=0;
|
||||||
|
@ -3476,6 +3483,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
|
||||||
ent.offsets[0]=tempDLLtab;
|
ent.offsets[0]=tempDLLtab;
|
||||||
ent.offsets[1]=add_string(command);
|
ent.offsets[1]=add_string(command);
|
||||||
ent.offsets[2]=-1;
|
ent.offsets[2]=-1;
|
||||||
|
ent.offsets[3]=nounload;
|
||||||
ret=add_entry(&ent);
|
ret=add_entry(&ent);
|
||||||
if (ret != PS_OK) return ret;
|
if (ret != PS_OK) return ret;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue