diff options
| author | Sam Hartman <hartmans@mit.edu> | 2011-09-28 20:55:18 +0000 |
|---|---|---|
| committer | Sam Hartman <hartmans@mit.edu> | 2011-09-28 20:55:18 +0000 |
| commit | 43b0bdc2bfbb8ce198a0f031e394bcc35cde12f3 (patch) | |
| tree | a75b35f72a0068981004b3fcc6b664981ae30a94 /src/windows/kfwlogon/kfwcommon.c | |
| parent | ebf757101939bf391061c366ecec8d34b4c190c3 (diff) | |
| download | krb5-43b0bdc2bfbb8ce198a0f031e394bcc35cde12f3.tar.gz krb5-43b0bdc2bfbb8ce198a0f031e394bcc35cde12f3.tar.xz krb5-43b0bdc2bfbb8ce198a0f031e394bcc35cde12f3.zip | |
Moved LoadFuncs/UnloadFuncs() to windows/lib
Signed-off-by: Alexey Melnikov <aamelnikov@gmail.com>
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25257 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/windows/kfwlogon/kfwcommon.c')
| -rw-r--r-- | src/windows/kfwlogon/kfwcommon.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/src/windows/kfwlogon/kfwcommon.c b/src/windows/kfwlogon/kfwcommon.c index bd09fcd4b..a34822193 100644 --- a/src/windows/kfwlogon/kfwcommon.c +++ b/src/windows/kfwlogon/kfwcommon.c @@ -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; |
