added $EXEFILE

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5120 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-04-24 19:09:51 +00:00
parent b5df399991
commit f4c9414545
6 changed files with 16 additions and 9 deletions

View file

@ -75,6 +75,10 @@ The Windows desktop directory (usually \c{C:\\Windows\\Desktop} but detected at
The directory containing the installer executable (technically you can modify this variable, but it is probably not a good idea). The directory containing the installer executable (technically you can modify this variable, but it is probably not a good idea).
\e{$EXEFILE}
The base name of the installer executable.
\e{$EXEPATH} \e{$EXEPATH}
The full path of the installer executable. The full path of the installer executable.

View file

@ -302,9 +302,10 @@ CEXEBuild::CEXEBuild() :
m_UserVarNames.add("TEMP",-1); // 25 m_UserVarNames.add("TEMP",-1); // 25
m_UserVarNames.add("PLUGINSDIR",-1); // 26 m_UserVarNames.add("PLUGINSDIR",-1); // 26
m_UserVarNames.add("EXEPATH",-1); // 27 m_UserVarNames.add("EXEPATH",-1); // 27
m_UserVarNames.add("HWNDPARENT",-1); // 28 m_UserVarNames.add("EXEFILE",-1); // 28
m_UserVarNames.add("_CLICK",-1); // 29 m_UserVarNames.add("HWNDPARENT",-1); // 29
m_UserVarNames.add("_OUTDIR",1); // 30 m_UserVarNames.add("_CLICK",-1); // 30
m_UserVarNames.add("_OUTDIR",1); // 31
m_iBaseVarsNum = m_UserVarNames.getnum(); m_iBaseVarsNum = m_UserVarNames.getnum();

View file

@ -138,9 +138,8 @@ const char * NSISCALL loadHeaders(int cl_flags)
return _LANG_CANTOPENSELF; return _LANG_CANTOPENSELF;
} }
// make state_exe_directory point to dir.
mystrcpy(state_exe_directory, state_exe_path); mystrcpy(state_exe_directory, state_exe_path);
trimslashtoend(state_exe_directory); mystrcpy(state_exe_file, trimslashtoend(state_exe_directory));
left = m_length = GetFileSize(db_hFile,NULL); left = m_length = GetFileSize(db_hFile,NULL);
while (left > 0) while (left > 0)

View file

@ -28,7 +28,8 @@ extern NSIS_STRING g_usrvars[1];
# define state_plugins_dir g_usrvars[26] # define state_plugins_dir g_usrvars[26]
#endif #endif
#define state_exe_path g_usrvars[27] #define state_exe_path g_usrvars[27]
#define state_click_next g_usrvars[29] #define state_exe_file g_usrvars[28]
#define state_click_next g_usrvars[30]
extern char g_caption[NSIS_MAX_STRLEN*2]; extern char g_caption[NSIS_MAX_STRLEN*2];
#ifdef NSIS_CONFIG_VISIBLE_SUPPORT #ifdef NSIS_CONFIG_VISIBLE_SUPPORT

View file

@ -260,7 +260,7 @@ char * NSISCALL findchar(char *str, char c)
return str; return str;
} }
void NSISCALL trimslashtoend(char *buf) char * NSISCALL trimslashtoend(char *buf)
{ {
char *p = buf + mystrlen(buf); char *p = buf + mystrlen(buf);
do do
@ -271,6 +271,8 @@ void NSISCALL trimslashtoend(char *buf)
} while (p > buf); } while (p > buf);
*p = 0; *p = 0;
return p + 1;
} }
int NSISCALL validpathspec(char *ubuf) int NSISCALL validpathspec(char *ubuf)
@ -675,7 +677,7 @@ char * NSISCALL GetNSISString(char *outbuf, int strtab)
} }
else if (nVarIdx == NS_VAR_CODE) else if (nVarIdx == NS_VAR_CODE)
{ {
if (nData == 28) // HWNDPARENT if (nData == 29) // $HWNDPARENT
myitoa(out, (unsigned int) g_hwnd); myitoa(out, (unsigned int) g_hwnd);
else else
mystrcpy(out, g_usrvars[nData]); mystrcpy(out, g_usrvars[nData]);

View file

@ -86,7 +86,7 @@ char * NSISCALL addtrailingslash(char *str);
//char NSISCALL lastchar(const char *str); //char NSISCALL lastchar(const char *str);
#define lastchar(str) *CharPrev(str,str+mystrlen(str)) #define lastchar(str) *CharPrev(str,str+mystrlen(str))
char * NSISCALL findchar(char *str, char c); char * NSISCALL findchar(char *str, char c);
void NSISCALL trimslashtoend(char *buf); char * NSISCALL trimslashtoend(char *buf);
char * NSISCALL skip_root(char *path); char * NSISCALL skip_root(char *path);
int NSISCALL is_valid_instpath(char *s); int NSISCALL is_valid_instpath(char *s);
void NSISCALL validate_filename(char *fn); void NSISCALL validate_filename(char *fn);