WriteINIStr now works with an empty value ("")

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2300 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2003-03-15 13:54:23 +00:00
parent 3c87d7089c
commit 76c8418de5
2 changed files with 7 additions and 4 deletions

View file

@ -1116,7 +1116,7 @@ static int NSISCALL ExecuteEntry(entry *entry_)
{
key=process_string_fromparm_tobuf(0x11);
}
if (parm2)
if (parm4)
{
str=process_string_fromparm_tobuf(0x22);
}

View file

@ -3248,19 +3248,21 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
case TOK_DELETEINISEC:
case TOK_DELETEINISTR:
{
char *vname="<section>";
char *vname="";
char *space="";
ent.which=EW_WRITEINI;
ent.offsets[0]=add_string(line.gettoken_str(2)); // section name
if (line.getnumtokens() > 3)
{
vname=line.gettoken_str(3);
ent.offsets[1]=add_string(vname); // value name
space=" ";
}
else ent.offsets[1]=0;
ent.offsets[2]=0;
ent.offsets[3]=add_string(line.gettoken_str(1));
SCRIPT_MSG("DeleteINI%s: [%s] %s in %s\n",vname?"Str":"Sec",
line.gettoken_str(2),vname,line.gettoken_str(1));
SCRIPT_MSG("DeleteINI%s: [%s] %s%sin %s\n",*vname?"Str":"Sec",
line.gettoken_str(2),vname,space,line.gettoken_str(1));
}
return add_entry(&ent);
case TOK_WRITEINISTR:
@ -3269,6 +3271,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
ent.offsets[1]=add_string(line.gettoken_str(3));
ent.offsets[2]=add_string(line.gettoken_str(4));
ent.offsets[3]=add_string(line.gettoken_str(1));
ent.offsets[4]=1; // write
SCRIPT_MSG("WriteINIStr: [%s] %s=%s in %s\n",
line.gettoken_str(2),line.gettoken_str(3),line.gettoken_str(4),line.gettoken_str(1));
return add_entry(&ent);