diff --git a/Contrib/InstallOptions/InstallerOptions.cpp b/Contrib/InstallOptions/InstallerOptions.cpp index 2f548e78..9da8b818 100644 --- a/Contrib/InstallOptions/InstallerOptions.cpp +++ b/Contrib/InstallOptions/InstallerOptions.cpp @@ -6,6 +6,7 @@ * highly modified by justin frankel to go in as dll, subclass, be sexy, and whatnot. * * key changes + * - jf> updated with new exdll.h * - no longer need parentwnd ini writing shit * - to call now, use: * Push $TEMP\inst.ini @@ -72,49 +73,7 @@ #include #include "resource.h" -typedef struct _stack_t { - struct _stack_t *next; - char text[1]; // this should be the length of string_size -} stack_t; - -int popstring(char *str); // 0 on success, 1 on empty stack -void pushstring(char *str); - -enum -{ -INST_0, // $0 -INST_1, // $1 -INST_2, // $2 -INST_3, // $3 -INST_4, // $4 -INST_5, // $5 -INST_6, // $6 -INST_7, // $7 -INST_8, // $8 -INST_9, // $9 -INST_R0, // $R0 -INST_R1, // $R1 -INST_R2, // $R2 -INST_R3, // $R3 -INST_R4, // $R4 -INST_R5, // $R5 -INST_R6, // $R6 -INST_R7, // $R7 -INST_R8, // $R8 -INST_R9, // $R9 -INST_CMDLINE, // $CMDLINE -INST_INSTDIR, // $INSTDIR -INST_OUTDIR, // $OUTDIR -INST_EXEDIR, // $EXEDIR -__INST_LAST -}; - -char *getuservariable(int varnum); - - -int g_stringsize; -stack_t **g_stacktop; -char *g_variables; +#include "../exdll/exdll.h" #define strcpy(x,y) lstrcpy(x,y) #define strncpy(x,y,z) lstrcpyn(x,y,z) @@ -737,9 +696,7 @@ extern "C" void __declspec(dllexport) dialog(HWND hwndParent, int string_size, char *variables, stack_t **stacktop) { hMainWindow=hwndParent; - g_stringsize=string_size; - g_stacktop=stacktop; - g_variables=variables; + EXDLL_INIT(); int nIdx; UINT nAddMsg; @@ -1067,34 +1024,6 @@ extern "C" BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call } -// utility functions (not required but often useful) -int popstring(char *str) -{ - stack_t *th; - if (!g_stacktop || !*g_stacktop) return 1; - th=(*g_stacktop); - if (str) lstrcpy(str,th->text); - *g_stacktop = th->next; - GlobalFree((HGLOBAL)th); - return 0; -} - -void pushstring(char *str) -{ - stack_t *th; - if (!g_stacktop) return; - th=(stack_t*)GlobalAlloc(GPTR,sizeof(stack_t)+g_stringsize); - lstrcpyn(th->text,str,g_stringsize); - th->next=*g_stacktop; - *g_stacktop=th; -} - -char *getuservariable(int varnum) -{ - if (varnum < 0 || varnum >= __INST_LAST) return NULL; - return g_variables+varnum*g_stringsize; -} - int LookupToken(TableEntry* psTable_, char* pszToken_) { for (int i = 0; psTable_[i].pszName; i++) diff --git a/Contrib/InstallOptions/io.dsp b/Contrib/InstallOptions/io.dsp index e34deab5..c703fe59 100644 --- a/Contrib/InstallOptions/io.dsp +++ b/Contrib/InstallOptions/io.dsp @@ -100,6 +100,10 @@ SOURCE=.\InstallerOptions.cpp # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File +SOURCE=..\ExDLL\exdll.h +# End Source File +# Begin Source File + SOURCE=.\resource.h # End Source File # End Group