Moved LoadFuncs/UnloadFuncs() to windows/lib
authorSam Hartman <hartmans@mit.edu>
Wed, 28 Sep 2011 20:55:18 +0000 (20:55 +0000)
committerSam Hartman <hartmans@mit.edu>
Wed, 28 Sep 2011 20:55:18 +0000 (20:55 +0000)
Signed-off-by: Alexey Melnikov <aamelnikov@gmail.com>
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25257 dc483132-0cff-0310-8789-dd5450dbe970

src/include/loadfuncs.h [moved from src/windows/leashdll/include/loadfuncs.h with 100% similarity]
src/windows/kfwlogon/Makefile.in
src/windows/kfwlogon/kfwcommon.c
src/windows/kfwlogon/kfwlogon.h
src/windows/leashdll/Makefile.in
src/windows/lib/Makefile.in
src/windows/lib/loadfuncs.c [moved from src/windows/leashdll/loadfuncs.c with 100% similarity]

index f6e523d22f7989a1789f8b874718aac1621fa6cc..f05c85387df1b8f640acd35bf7318ae6f1f825ba 100644 (file)
@@ -29,11 +29,11 @@ $(EXERES): $(VERSIONRC)
 all-windows:: $(OUTPRE)kfwlogon.dll $(OUTPRE)kfwcpcc.exe
 
 $(KFWLOGON): $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj $(LIBRES)
-    link $(DLL_LINKOPTS) -out:$@ $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj -entry:DllEntryPoint -def:kfwlogon.def $(SYSLIBS) $(KLIB) $(CLIB) $(SCLIB) $(LIBRES)
+    link $(DLL_LINKOPTS) -out:$@ $(OUTPRE)kfwlogon.obj $(OUTPRE)kfwcommon.obj -entry:DllEntryPoint -def:kfwlogon.def $(SYSLIBS) $(KLIB) $(CLIB) $(SCLIB) ../lib/$(OUTPRE)libwin.lib $(LIBRES)
     $(_VC_MANIFEST_EMBED_DLL)
 
 $(KFWCPCC): $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(EXERES)
-    link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(SYSLIBS) $(KLIB) $(CLIB) $(SCLIB) $(EXERES)
+    link $(EXE_LINKOPTS) -out:$@ $(OUTPRE)kfwcpcc.obj $(OUTPRE)kfwcommon.obj $(SYSLIBS) $(KLIB) $(CLIB) $(SCLIB) ../lib/$(OUTPRE)libwin.lib $(EXERES)
     $(_VC_MANIFEST_EMBED_EXE)
 
 install::
index bd09fcd4bab6566968358b1b0840ddcdc3218221..a348221932cb5b70cb8bd9531fa29b5089e0e0d3 100644 (file)
@@ -350,75 +350,6 @@ void DebugEvent(char *b,...)
     }
 }
 
-void
-UnloadFuncs(
-    FUNC_INFO fi[],
-    HINSTANCE h
-    )
-{
-    int n;
-    if (fi)
-        for (n = 0; fi[n].func_ptr_var; n++)
-            *(fi[n].func_ptr_var) = 0;
-    if (h) FreeLibrary(h);
-}
-
-int
-LoadFuncs(
-    const char* dll_name,
-    FUNC_INFO fi[],
-    HINSTANCE* ph,  // [out, optional] - DLL handle
-    int* pindex,    // [out, optional] - index of last func loaded (-1 if none)
-    int cleanup,    // cleanup function pointers and unload on error
-    int go_on,      // continue loading even if some functions cannot be loaded
-    int silent      // do not pop-up a system dialog if DLL cannot be loaded
-    )
-{
-    HINSTANCE h;
-    int i, n, last_i;
-    int error = 0;
-    UINT em;
-
-    if (ph) *ph = 0;
-    if (pindex) *pindex = -1;
-
-    for (n = 0; fi[n].func_ptr_var; n++)
-       *(fi[n].func_ptr_var) = 0;
-
-    if (silent)
-       em = SetErrorMode(SEM_FAILCRITICALERRORS);
-    h = LoadLibrary(dll_name);
-    if (silent)
-        SetErrorMode(em);
-
-    if (!h)
-        return 0;
-
-    last_i = -1;
-    for (i = 0; (go_on || !error) && (i < n); i++)
-    {
-       void* p = (void*)GetProcAddress(h, fi[i].func_name);
-       if (!p)
-           error = 1;
-        else
-        {
-            last_i = i;
-           *(fi[i].func_ptr_var) = p;
-        }
-    }
-    if (pindex) *pindex = last_i;
-    if (error && cleanup && !go_on) {
-       for (i = 0; i < n; i++) {
-           *(fi[i].func_ptr_var) = 0;
-       }
-       FreeLibrary(h);
-       return 0;
-    }
-    if (ph) *ph = h;
-    if (error) return 0;
-    return 1;
-}
-
 static HANDLE hInitMutex = NULL;
 static BOOL bInit = FALSE;
 
index 141b9c36ba4ebfafd4596781ee72e1636332a81e..9d26162587a96f54bf60c7f7ec04f66b562e96ae 100644 (file)
@@ -188,10 +188,6 @@ DWORD APIENTRY NPPasswordChangeNotify(
 extern "C" {
 #endif
 
-void UnloadFuncs(FUNC_INFO [], HINSTANCE);
-
-int  LoadFuncs(const char*, FUNC_INFO [], HINSTANCE*, int*, int, int, int);
-
 void DebugEvent0(char *a);
 void DebugEvent(char *b,...);
 
index 12f281bd23e497520304ec4729e546e8a0e5c736..8846b5ec6ac65d8cdd8c315a060e2def9dd05711 100644 (file)
@@ -32,8 +32,7 @@ OBJS= $(OUTPRE)AFSroutines.$(OBJEXT) \
        $(OUTPRE)timesync.$(OBJEXT) \
        $(OUTPRE)winerr.$(OBJEXT) \
        $(OUTPRE)winutil.$(OBJEXT) \
-       $(OUTPRE)registry.$(OBJEXT) \
-       $(OUTPRE)loadfuncs.$(OBJEXT)
+       $(OUTPRE)registry.$(OBJEXT)
 
 #TODO: Fix resource compilation
 RESFILE = $(OUTPRE)lsh_pwd.res
@@ -75,7 +74,7 @@ clean-windows::
 
 $(OUTPRE)$(DLL_NAME).dll: $(DEF_FILE) $(OBJS) $(XOBJS)
        link $(WINDLLFLAGS) -def:$(DEF_FILE) -out:$*.dll \
-       $(OBJS) $(XOBJS) $(WINLIBS) $(SCLIB)
+       $(OBJS) $(XOBJS) $(WINLIBS) ../lib/$(OUTPRE)libwin.lib $(SCLIB)
        $(_VC_MANIFEST_EMBED_DLL)
 
 #TODO: Add dependencies on include files here
index c911de701612e8b266a7e11a420138dd5a190db5..119db8902d1b019f7e0f82f5c1003d99e0889f0f 100644 (file)
@@ -2,9 +2,12 @@ BUILDTOP = ..\..
 
 lib-windows: $(OUTPRE)libwin.lib
 
-SRCS=  vardlg.c gic.c registry.c
+SRCS=  vardlg.c gic.c registry.c loadfuncs.c
+
+
+OBJS=  $(OUTPRE)vardlg.obj $(OUTPRE)gic.obj $(OUTPRE)registry.obj \
+       $(OUTPRE)loadfuncs.obj
 
-OBJS=  $(OUTPRE)vardlg.obj $(OUTPRE)gic.obj $(OUTPRE)registry.obj
 
 $(OUTPRE)libwin.lib: $(OBJS)
        lib /nologo /out:$*.lib $(OBJS)