From 96a02d10ca13c48ea053b5d6f4649e049777470e Mon Sep 17 00:00:00 2001 From: icemank Date: Thu, 12 Jun 2003 16:14:03 +0000 Subject: [PATCH] Fixed handling of macros and command line /X option for standard predefines. git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2635 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/script.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Source/script.cpp b/Source/script.cpp index a057a3b9..bf6b11e9 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -447,18 +447,26 @@ int CEXEBuild::process_oneline(char *line, char *filename, int linenum) #ifdef NSIS_SUPPORT_STANDARD_PREDEFINES // Added by Sunil Kamath 11 June 2003 - char *oldfilename = set_file_predefine(curfilename); - char *oldtimestamp = set_timestamp_predefine(curfilename); - char *oldline = set_line_predefine(linecnt); + char *oldfilename = NULL; + char *oldtimestamp = NULL; + char *oldline = NULL; + + if(lstrcmp(filename,"command line")) { // Don't set the predefines for command line /X option + oldfilename = set_file_predefine(curfilename); + oldtimestamp = set_timestamp_predefine(curfilename); + oldline = set_line_predefine(last_linecnt+linecnt-1); // This is done so that line numbers are + } //handled properly when macros are inserted. #endif ps_addtoline(line,linedata,hist); #ifdef NSIS_SUPPORT_STANDARD_PREDEFINES // Added by Sunil Kamath 11 June 2003 - restore_file_predefine(oldfilename); - restore_timestamp_predefine(oldtimestamp); - restore_line_predefine(oldline); + if(lstrcmp(filename,"command line")) { // Don't set the predefines for command line /X option + restore_file_predefine(oldfilename); + restore_timestamp_predefine(oldtimestamp); + restore_line_predefine(oldline); + } #endif linedata.add((void*)"",1);