diff --git a/Source/build.cpp b/Source/build.cpp index 43552a9f..ac2a2305 100644 --- a/Source/build.cpp +++ b/Source/build.cpp @@ -315,12 +315,12 @@ int CEXEBuild::preprocess_string(char *out, const char *in) "R7\0" // 18 "R8\0" // 19 "R9\0" // 20 - "LANGUAGE\0" // 21 - "CMDLINE\0" // 22 everything before here doesn't have trailing slash removal + "CMDLINE\0" // 21 everything before here doesn't have trailing slash removal - "INSTDIR\0" // 23 - "OUTDIR\0" // 24 - "EXEDIR\0" // 25 + "INSTDIR\0" // 22 + "OUTDIR\0" // 23 + "EXEDIR\0" // 24 + "LANGUAGE\0" // 25 "PROGRAMFILES\0" // 26 "SMPROGRAMS\0" // 27 "SMSTARTUP\0" // 28 diff --git a/Source/exehead/util.c b/Source/exehead/util.c index 8ecd2b03..ff0450aa 100644 --- a/Source/exehead/util.c +++ b/Source/exehead/util.c @@ -482,11 +482,11 @@ void NSISCALL process_string(char *out, const char *in) case VAR_CODES_START + 18: // R7 case VAR_CODES_START + 19: // R8 case VAR_CODES_START + 20: // R9 - case VAR_CODES_START + 21: // LANGUAGE - case VAR_CODES_START + 22: // CMDLINE - case VAR_CODES_START + 23: // INSTDIR - case VAR_CODES_START + 24: // OUTDIR - case VAR_CODES_START + 25: // EXEDIR + case VAR_CODES_START + 21: // CMDLINE + case VAR_CODES_START + 22: // INSTDIR + case VAR_CODES_START + 23: // OUTDIR + case VAR_CODES_START + 24: // EXEDIR + case VAR_CODES_START + 25: // LANGUAGE mystrcpy(out, g_usrvars[nVarIdx - (VAR_CODES_START + 1)]); break; @@ -545,7 +545,7 @@ void NSISCALL process_string(char *out, const char *in) } // switch // remove trailing slash while (*out && *CharNext(out)) out++; - if (nVarIdx > 22+VAR_CODES_START && *out == '\\') // only if not $0 to $R9, $CMDLINE, $LANGUAGE, or $HWNDPARENT + if (nVarIdx > 21+VAR_CODES_START && nVarIdx != VAR_CODES_START+25 && *out == '\\') // only if not $0 to $R9, $CMDLINE, $LANGUAGE, or $HWNDPARENT *out = 0; out=CharNext(out); } // >= VAR_CODES_START diff --git a/Source/script.cpp b/Source/script.cpp index 4dff716f..1feeb1ef 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -21,7 +21,7 @@ static const char *usrvars="$0\0$1\0$2\0$3\0$4\0$5\0$6\0$7\0$8\0$9\0" "$R0\0$R1\0$R2\0$R3\0$R4\0$R5\0$R6\0$R7\0$R8\0$R9\0" - "$LANGUAGE\0$CMDLINE\0$INSTDIR\0$OUTDIR\0$EXEDIR\0"; + "$CMDLINE\0$INSTDIR\0$OUTDIR\0$EXEDIR\0$LANGUAGE\0"; int CEXEBuild::process_script(FILE *fp, char *curfilename, int *lineptr)