Huw Davies : winspool: Simplify cups function loading.

Alexandre Julliard julliard at winehq.org
Mon Apr 16 13:35:46 CDT 2012


Module: wine
Branch: master
Commit: b2accddffe37ea650cca2892367ff1e5dda12f2d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b2accddffe37ea650cca2892367ff1e5dda12f2d

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Apr 16 13:18:41 2012 +0100

winspool: Simplify cups function loading.

---

 dlls/winspool.drv/info.c |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index a5b065c..e958022 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -469,12 +469,19 @@ static BOOL add_printer_driver(WCHAR *name)
 }
 
 #ifdef SONAME_LIBCUPS
-static typeof(cupsFreeDests) *pcupsFreeDests;
-static typeof(cupsGetDests)  *pcupsGetDests;
-static typeof(cupsGetPPD)    *pcupsGetPPD;
-static typeof(cupsPrintFile) *pcupsPrintFile;
+
 static void *cupshandle;
 
+#define CUPS_FUNCS \
+    DO_FUNC(cupsFreeDests); \
+    DO_FUNC(cupsGetDests); \
+    DO_FUNC(cupsGetPPD); \
+    DO_FUNC(cupsPrintFile);
+
+#define DO_FUNC(f) static typeof(f) *p##f
+CUPS_FUNCS;
+#undef DO_FUNC
+
 static BOOL CUPS_LoadPrinters(void)
 {
     int	                  i, nrofdests;
@@ -493,15 +500,9 @@ static BOOL CUPS_LoadPrinters(void)
     }
     TRACE("%p: %s loaded\n", cupshandle, SONAME_LIBCUPS);
 
-#define DYNCUPS(x) 					\
-    	p##x = wine_dlsym(cupshandle, #x, NULL,0);	\
-	if (!p##x) return FALSE;
-
-    DYNCUPS(cupsFreeDests);
-    DYNCUPS(cupsGetPPD);
-    DYNCUPS(cupsGetDests);
-    DYNCUPS(cupsPrintFile);
-#undef DYNCUPS
+#define DO_FUNC(x) p##x = wine_dlsym( cupshandle, #x, NULL, 0 ); if (!p##x) return FALSE;
+    CUPS_FUNCS;
+#undef DO_FUNC
 
     if(RegCreateKeyW(HKEY_LOCAL_MACHINE, PrintersW, &hkeyPrinters) !=
        ERROR_SUCCESS) {




More information about the wine-cvs mailing list