fixed 1095761 - File /r changes $0

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3839 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2005-01-05 13:40:42 +00:00
parent a7c465cc9e
commit 8c51026a67
2 changed files with 6 additions and 5 deletions

View file

@ -440,6 +440,7 @@ definedlist.add("NSIS_SUPPORT_LANG_IN_STRINGS");
m_UserVarNames.add("PLUGINSDIR",-1); // 26 m_UserVarNames.add("PLUGINSDIR",-1); // 26
m_UserVarNames.add("HWNDPARENT",-1); // 27 m_UserVarNames.add("HWNDPARENT",-1); // 27
m_UserVarNames.add("_CLICK",-1); // 28 m_UserVarNames.add("_CLICK",-1); // 28
m_UserVarNames.add("_OUTDIR",1); // 29
m_iBaseVarsNum = m_UserVarNames.getnum(); m_iBaseVarsNum = m_UserVarNames.getnum();

View file

@ -5629,8 +5629,8 @@ int CEXEBuild::do_add_file(const char *lgss, int attrib, int recurse, int *total
dir_created = true; dir_created = true;
if (recurse) { if (recurse) {
// save $OUTDIR into $0 // save $OUTDIR into $_OUTDIR [StrCpy $_OUTDIR $OUTDIR]
if (add_entry_direct(EW_ASSIGNVAR, m_UserVarNames.get("0"), add_string("$OUTDIR")) != PS_OK) { if (add_entry_direct(EW_ASSIGNVAR, m_UserVarNames.get("_OUTDIR"), add_string("$OUTDIR")) != PS_OK) {
delete dr; delete dr;
return PS_ERROR; return PS_ERROR;
} }
@ -5705,8 +5705,8 @@ int CEXEBuild::do_add_file(const char *lgss, int attrib, int recurse, int *total
if (basedir == "") { if (basedir == "") {
SCRIPT_MSG("%sFile: Returning to: \"%s\"\n", generatecode ? "" : "Reserve", dir.c_str()); SCRIPT_MSG("%sFile: Returning to: \"%s\"\n", generatecode ? "" : "Reserve", dir.c_str());
// restore $OUTDIR from $0 // restore $OUTDIR from $_OUTDIR [SetOutPath $_OUTDIR]
if (do_add_file_create_dir(dir, basedir) != PS_OK) { if (add_entry_direct(EW_CREATEDIR, add_string("$_OUTDIR"), 1) != PS_OK) {
delete dr; delete dr;
return PS_ERROR; return PS_ERROR;
} }
@ -5929,7 +5929,7 @@ int CEXEBuild::add_file(const string& dir, const string& file, int attrib, const
} }
int CEXEBuild::do_add_file_create_dir(const string& local_dir, const string& dir, int attrib) { int CEXEBuild::do_add_file_create_dir(const string& local_dir, const string& dir, int attrib) {
string outdir_s = "$0\\" + dir; string outdir_s = "$_OUTDIR\\" + dir;
string::size_type pos = 1; string::size_type pos = 1;
pos = outdir_s.find('$', pos); pos = outdir_s.find('$', pos);