summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorIvan Zhakov <ivan@apache.org>2019-05-16 19:01:28 +0000
committerIvan Zhakov <ivan@apache.org>2019-05-16 19:01:28 +0000
commit47738d0dfd83b8be3f05e309e18216cdbbccd966 (patch)
tree053d8315e1aabab5d56c1b4f5c3c7ac318f11ba4 /misc
parent861d816d08dae076b26ff875031fcbc3326e4493 (diff)
downloadapr-47738d0dfd83b8be3f05e309e18216cdbbccd966.tar.gz
Refactoring: Combine lateDllName and lateDllHandle arrays to one array of
structures. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1859404 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'misc')
-rw-r--r--misc/win32/misc.c38
1 files changed, 23 insertions, 15 deletions
diff --git a/misc/win32/misc.c b/misc/win32/misc.c
index 7a80f4fe9..88d9ab381 100644
--- a/misc/win32/misc.c
+++ b/misc/win32/misc.c
@@ -138,32 +138,40 @@ apr_status_t apr_get_oslevel(apr_oslevel_e *level)
* missing from one or more releases of the Win32 API
*/
-static const char* const lateDllName[DLL_defined] = {
- "kernel32", "advapi32", "mswsock", "ws2_32", "shell32", "ntdll.dll",
- "Iphplapi" };
-static HMODULE lateDllHandle[DLL_defined] = {
- NULL, NULL, NULL, NULL, NULL, NULL,
- NULL };
+typedef struct win32_late_dll_t {
+ const char *dll_name;
+ HMODULE dll_handle;
+} win32_late_dll_t;
+
+static win32_late_dll_t late_dll[DLL_defined] = {
+ {"kernel32", NULL},
+ {"advapi32", NULL},
+ {"mswsock", NULL},
+ {"ws2_32", NULL},
+ {"shell32", NULL},
+ {"ntdll.dll", NULL},
+ {"Iphplapi", NULL}
+};
FARPROC apr_load_dll_func(apr_dlltoken_e fnLib, char* fnName, int ordinal)
{
- if (!lateDllHandle[fnLib]) {
- lateDllHandle[fnLib] = LoadLibraryA(lateDllName[fnLib]);
- if (!lateDllHandle[fnLib])
+ if (!late_dll[fnLib].dll_handle) {
+ late_dll[fnLib].dll_handle = LoadLibraryA(late_dll[fnLib].dll_name);
+ if (!late_dll[fnLib].dll_handle)
return NULL;
}
#if defined(_WIN32_WCE)
if (ordinal)
- return GetProcAddressA(lateDllHandle[fnLib], (const char *)
- (apr_ssize_t)ordinal);
+ return GetProcAddressA(late_dll[fnLib].dll_handle,
+ (const char *) (apr_ssize_t)ordinal);
else
- return GetProcAddressA(lateDllHandle[fnLib], fnName);
+ return GetProcAddressA(late_dll[fnLib].dll_handle, fnName);
#else
if (ordinal)
- return GetProcAddress(lateDllHandle[fnLib], (const char *)
- (apr_ssize_t)ordinal);
+ return GetProcAddress(late_dll[fnLib].dll_handle,
+ (const char *) (apr_ssize_t)ordinal);
else
- return GetProcAddress(lateDllHandle[fnLib], fnName);
+ return GetProcAddress(late_dll[fnLib].dll_handle, fnName);
#endif
}