Module: wine Branch: refs/heads/master Commit: 790f4523d272ab5b7d56ab6d34e82da2c522e05c URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=790f4523d272ab5b7d56ab6d...
Author: James Hawkins truiken@gmail.com Date: Mon Feb 27 13:49:50 2006 -0600
advpack: Factor out the API loading of advpack tests.
---
dlls/advpack/tests/advpack.c | 32 +++++++++++++++++++------------- 1 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/dlls/advpack/tests/advpack.c b/dlls/advpack/tests/advpack.c index b678797..a382ef8 100644 --- a/dlls/advpack/tests/advpack.c +++ b/dlls/advpack/tests/advpack.c @@ -28,10 +28,27 @@ #define TEST_STRING1 "\Application Name" #define TEST_STRING2 "%49001%\Application Name"
-static HRESULT (WINAPI *pGetVersionFromFile)(LPSTR,LPDWORD,LPDWORD,BOOL); static HRESULT (WINAPI *pDelNode)(LPCSTR,DWORD); +static HRESULT (WINAPI *pGetVersionFromFile)(LPSTR,LPDWORD,LPDWORD,BOOL); static HRESULT (WINAPI *pTranslateInfString)(LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,DWORD,LPDWORD,LPVOID);
+static BOOL init_function_pointers(void) +{ + HMODULE hAdvPack = LoadLibraryA("advpack.dll"); + + if (!hAdvPack) + return FALSE; + + pDelNode = (void *)GetProcAddress(hAdvPack, "DelNode"); + pGetVersionFromFile = (void *)GetProcAddress(hAdvPack, "GetVersionFromFile"); + pTranslateInfString = (void *)GetProcAddress(hAdvPack, "TranslateInfString"); + + if (!pDelNode || !pGetVersionFromFile || !pTranslateInfString) + return FALSE; + + return TRUE; +} + static void version_test(void) { HRESULT hr; @@ -256,21 +273,10 @@ static void translateinfstring_test()
START_TEST(advpack) { - HMODULE hdll; - - hdll = LoadLibraryA("advpack.dll"); - if (!hdll) - return; - - pGetVersionFromFile = (void*)GetProcAddress(hdll, "GetVersionFromFile"); - pDelNode = (void*)GetProcAddress(hdll, "DelNode"); - pTranslateInfString = (void*)GetProcAddress(hdll, "TranslateInfString"); - if (!pGetVersionFromFile || !pDelNode || !pTranslateInfString) + if (!init_function_pointers()) return;
version_test(); delnode_test(); translateinfstring_test(); - - FreeLibrary(hdll); }