Back to 37KB
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1009 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
d73088e912
commit
541fafa81c
1 changed files with 23 additions and 22 deletions
|
@ -137,6 +137,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
int parm4=parms[4];
|
int parm4=parms[4];
|
||||||
int parm5=parms[5];
|
int parm5=parms[5];
|
||||||
int which=entries[pos].which;
|
int which=entries[pos].which;
|
||||||
|
char *var=g_usrvars[parm0];
|
||||||
switch (which)
|
switch (which)
|
||||||
{
|
{
|
||||||
case EW_NOP:
|
case EW_NOP:
|
||||||
|
@ -275,7 +276,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
#ifdef NSIS_SUPPORT_FNUTIL
|
#ifdef NSIS_SUPPORT_FNUTIL
|
||||||
case EW_GETFULLPATHNAME:
|
case EW_GETFULLPATHNAME:
|
||||||
{
|
{
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
char *fp;
|
char *fp;
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
if (!GetFullPathName(buf,NSIS_MAX_STRLEN,p,&fp))
|
if (!GetFullPathName(buf,NSIS_MAX_STRLEN,p,&fp))
|
||||||
|
@ -302,7 +303,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
case EW_SEARCHPATH:
|
case EW_SEARCHPATH:
|
||||||
{
|
{
|
||||||
char *fp;
|
char *fp;
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
if (!SearchPath(NULL,buf,NULL,NSIS_MAX_STRLEN,p,&fp))
|
if (!SearchPath(NULL,buf,NULL,NSIS_MAX_STRLEN,p,&fp))
|
||||||
{
|
{
|
||||||
|
@ -313,7 +314,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
return 0;
|
return 0;
|
||||||
case EW_GETTEMPFILENAME:
|
case EW_GETTEMPFILENAME:
|
||||||
{
|
{
|
||||||
char *textout=g_usrvars[parm0];
|
char *textout=var;
|
||||||
if (!GetTempPath(NSIS_MAX_STRLEN,buf) || !GetTempFileName(buf,"nst",0,textout))
|
if (!GetTempPath(NSIS_MAX_STRLEN,buf) || !GetTempFileName(buf,"nst",0,textout))
|
||||||
{
|
{
|
||||||
*textout=0;
|
*textout=0;
|
||||||
|
@ -500,14 +501,14 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
#ifdef NSIS_SUPPORT_STROPTS
|
#ifdef NSIS_SUPPORT_STROPTS
|
||||||
case EW_STRLEN:
|
case EW_STRLEN:
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
myitoa(g_usrvars[parm0],mystrlen(buf));
|
myitoa(var,mystrlen(buf));
|
||||||
return 0;
|
return 0;
|
||||||
case EW_ASSIGNVAR:
|
case EW_ASSIGNVAR:
|
||||||
{
|
{
|
||||||
int newlen=process_string_fromtab_toint(parm2);
|
int newlen=process_string_fromtab_toint(parm2);
|
||||||
int start=process_string_fromtab_toint(parm3);
|
int start=process_string_fromtab_toint(parm3);
|
||||||
int l;
|
int l;
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
*p=0;
|
*p=0;
|
||||||
if (parm2 < 0 || newlen)
|
if (parm2 < 0 || newlen)
|
||||||
|
@ -538,7 +539,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
#ifdef NSIS_SUPPORT_ENVIRONMENT
|
#ifdef NSIS_SUPPORT_ENVIRONMENT
|
||||||
case EW_READENVSTR:
|
case EW_READENVSTR:
|
||||||
{
|
{
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
if (parm2)
|
if (parm2)
|
||||||
{
|
{
|
||||||
|
@ -578,7 +579,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
case EW_INTOP:
|
case EW_INTOP:
|
||||||
{
|
{
|
||||||
int v,v2;
|
int v,v2;
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
v=process_string_fromtab_toint(parm1);
|
v=process_string_fromtab_toint(parm1);
|
||||||
v2=process_string_fromtab_toint(parm2);
|
v2=process_string_fromtab_toint(parm2);
|
||||||
switch (parm3)
|
switch (parm3)
|
||||||
|
@ -601,7 +602,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
return 0;
|
return 0;
|
||||||
case EW_INTFMT:
|
case EW_INTFMT:
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
wsprintf(g_usrvars[parm0],
|
wsprintf(var,
|
||||||
buf,
|
buf,
|
||||||
process_string_fromtab_toint(parm2));
|
process_string_fromtab_toint(parm2));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -631,7 +632,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
exec_errorflag++;
|
exec_errorflag++;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
mystrcpy(g_usrvars[parm0],s->text);
|
mystrcpy(var,s->text);
|
||||||
g_st=s->next;
|
g_st=s->next;
|
||||||
GlobalFree((HGLOBAL)s);
|
GlobalFree((HGLOBAL)s);
|
||||||
}
|
}
|
||||||
|
@ -668,7 +669,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
b4=(int)buf2;
|
b4=(int)buf2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parm5>>2) exec_errorflag += !SendMessageTimeout(hwnd,msg,b3,b4, SMTO_BLOCK, (parm5>>2), (LPDWORD)&v);
|
if (parm5>>2) exec_errorflag += !SendMessageTimeout(hwnd,msg,b3,b4,SMTO_NORMAL,parm5>>2,(LPDWORD)&v);
|
||||||
else v=SendMessage(hwnd,msg,b3,b4);
|
else v=SendMessage(hwnd,msg,b3,b4);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -679,7 +680,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parm0>=0)
|
if (parm0>=0)
|
||||||
myitoa(g_usrvars[parm0],v);
|
myitoa(var,v);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
case EW_ISWINDOW:
|
case EW_ISWINDOW:
|
||||||
|
@ -687,7 +688,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
return parm2;
|
return parm2;
|
||||||
case EW_GETDLGITEM:
|
case EW_GETDLGITEM:
|
||||||
myitoa(
|
myitoa(
|
||||||
g_usrvars[parm0],
|
var,
|
||||||
(int)GetDlgItem(
|
(int)GetDlgItem(
|
||||||
(HWND)process_string_fromtab_toint(parm1),
|
(HWND)process_string_fromtab_toint(parm1),
|
||||||
process_string_fromtab_toint(parm2)
|
process_string_fromtab_toint(parm2)
|
||||||
|
@ -989,7 +990,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
case EW_READINISTR:
|
case EW_READINISTR:
|
||||||
{
|
{
|
||||||
static const char *errstr="!N~";
|
static const char *errstr="!N~";
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
process_string_fromtab(buf,parm1);
|
process_string_fromtab(buf,parm1);
|
||||||
process_string_fromtab(buf2,parm2);
|
process_string_fromtab(buf2,parm2);
|
||||||
process_string_fromtab(buf3,parm3);
|
process_string_fromtab(buf3,parm3);
|
||||||
|
@ -1067,7 +1068,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
case EW_READREGSTR: // read registry string
|
case EW_READREGSTR: // read registry string
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
int rootkey=parm1;
|
int rootkey=parm1;
|
||||||
process_string_fromtab(buf,parm2); // buf == subkey
|
process_string_fromtab(buf,parm2); // buf == subkey
|
||||||
process_string_fromtab(buf2,parm3); // buf == key name
|
process_string_fromtab(buf2,parm3); // buf == key name
|
||||||
|
@ -1100,7 +1101,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
case EW_REGENUM:
|
case EW_REGENUM:
|
||||||
{
|
{
|
||||||
HKEY key;
|
HKEY key;
|
||||||
char *p=g_usrvars[parm0];
|
char *p=var;
|
||||||
int b=process_string_fromtab_toint(parm3);
|
int b=process_string_fromtab_toint(parm3);
|
||||||
process_string_fromtab(buf2,parm2);
|
process_string_fromtab(buf2,parm2);
|
||||||
p[0]=0;
|
p[0]=0;
|
||||||
|
@ -1120,7 +1121,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
#ifdef NSIS_SUPPORT_FILEFUNCTIONS
|
#ifdef NSIS_SUPPORT_FILEFUNCTIONS
|
||||||
case EW_FCLOSE:
|
case EW_FCLOSE:
|
||||||
{
|
{
|
||||||
char *t=g_usrvars[parm0];
|
char *t=var;
|
||||||
if (*t) CloseHandle((HANDLE)myatoi(t));
|
if (*t) CloseHandle((HANDLE)myatoi(t));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1145,7 +1146,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
{
|
{
|
||||||
DWORD dw;
|
DWORD dw;
|
||||||
int l;
|
int l;
|
||||||
char *t=g_usrvars[parm0];
|
char *t=var;
|
||||||
if (parm2)
|
if (parm2)
|
||||||
{
|
{
|
||||||
((unsigned char *)buf2)[0]=process_string_fromtab_toint(parm1)&0xff;
|
((unsigned char *)buf2)[0]=process_string_fromtab_toint(parm1)&0xff;
|
||||||
|
@ -1167,7 +1168,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
char *textout=g_usrvars[parm1];
|
char *textout=g_usrvars[parm1];
|
||||||
DWORD dw;
|
DWORD dw;
|
||||||
int rpos=0;
|
int rpos=0;
|
||||||
char *hptr=g_usrvars[parm0];
|
char *hptr=var;
|
||||||
int maxlen=process_string_fromtab_toint(parm2);
|
int maxlen=process_string_fromtab_toint(parm2);
|
||||||
if (maxlen<1) return 0;
|
if (maxlen<1) return 0;
|
||||||
if (maxlen > NSIS_MAX_STRLEN-1) maxlen=NSIS_MAX_STRLEN-1;
|
if (maxlen > NSIS_MAX_STRLEN-1) maxlen=NSIS_MAX_STRLEN-1;
|
||||||
|
@ -1202,7 +1203,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
return 0;
|
return 0;
|
||||||
case EW_FSEEK:
|
case EW_FSEEK:
|
||||||
{
|
{
|
||||||
char *t=g_usrvars[parm0];
|
char *t=var;
|
||||||
if (*t)
|
if (*t)
|
||||||
{
|
{
|
||||||
DWORD v=SetFilePointer((HANDLE)myatoi(t),process_string_fromtab_toint(parm1),NULL,parm2);
|
DWORD v=SetFilePointer((HANDLE)myatoi(t),process_string_fromtab_toint(parm1),NULL,parm2);
|
||||||
|
@ -1218,13 +1219,13 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
#ifdef NSIS_SUPPORT_FINDFIRST
|
#ifdef NSIS_SUPPORT_FINDFIRST
|
||||||
case EW_FINDCLOSE:
|
case EW_FINDCLOSE:
|
||||||
{
|
{
|
||||||
char *t=g_usrvars[parm0];
|
char *t=var;
|
||||||
if (*t) FindClose((HANDLE)myatoi(t));
|
if (*t) FindClose((HANDLE)myatoi(t));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
case EW_FINDNEXT:
|
case EW_FINDNEXT:
|
||||||
{
|
{
|
||||||
char *textout=g_usrvars[parm0];
|
char *textout=var;
|
||||||
char *t=g_usrvars[parm1];
|
char *t=g_usrvars[parm1];
|
||||||
WIN32_FIND_DATA fd;
|
WIN32_FIND_DATA fd;
|
||||||
if (*t && FindNextFile((HANDLE)myatoi(t),&fd))
|
if (*t && FindNextFile((HANDLE)myatoi(t),&fd))
|
||||||
|
@ -1428,7 +1429,7 @@ static int NSISCALL ExecuteEntry(entry *entries, int pos)
|
||||||
f.lfUnderline=parm4&2;
|
f.lfUnderline=parm4&2;
|
||||||
f.lfStrikeOut=parm4&4;
|
f.lfStrikeOut=parm4&4;
|
||||||
process_string_fromtab(f.lfFaceName,parm1);
|
process_string_fromtab(f.lfFaceName,parm1);
|
||||||
myitoa(g_usrvars[parm0],(int)CreateFontIndirect(&f));
|
myitoa(var,(int)CreateFontIndirect(&f));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue