From 76c8418de5de4c62e626e2c4ef9f11ec8e2236ab Mon Sep 17 00:00:00 2001 From: kichik Date: Sat, 15 Mar 2003 13:54:23 +0000 Subject: [PATCH] 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 --- Source/exehead/exec.c | 2 +- Source/script.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/exehead/exec.c b/Source/exehead/exec.c index 003bebd4..a90cec84 100644 --- a/Source/exehead/exec.c +++ b/Source/exehead/exec.c @@ -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); } diff --git a/Source/script.cpp b/Source/script.cpp index 166b00fb..e71f4848 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -3248,19 +3248,21 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char case TOK_DELETEINISEC: case TOK_DELETEINISTR: { - char *vname="
"; + 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);