[PATCH v3] winspool.drv: If the call to cupsPrintFile fails, print the cups error message.

Jeremy White jwhite at codeweavers.com
Thu Jan 28 10:30:55 CST 2016


Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
v3: Use alphabetical order.
v2: Use debugstr_a for print format.
---
 dlls/winspool.drv/info.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index cebf6f7..3ba94cd 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -781,13 +781,15 @@ static void *cupshandle;
     DO_FUNC(cupsPrintFile)
 #define CUPS_OPT_FUNCS \
     DO_FUNC(cupsGetNamedDest); \
-    DO_FUNC(cupsGetPPD3)
+    DO_FUNC(cupsGetPPD3); \
+    DO_FUNC(cupsLastErrorString)
 
 #define DO_FUNC(f) static typeof(f) *p##f
 CUPS_FUNCS;
 #undef DO_FUNC
 static cups_dest_t * (*pcupsGetNamedDest)(http_t *, const char *, const char *);
 static http_status_t (*pcupsGetPPD3)(http_t *, const char *, time_t *, char *, size_t);
+static const char *  (*pcupsLastErrorString)(void);
 
 static http_status_t cupsGetPPD3_wrapper( http_t *http, const char *name,
                                           time_t *modtime, char *buffer,
@@ -8237,6 +8239,8 @@ static BOOL schedule_cups(LPCWSTR printer_name, LPCWSTR filename, LPCWSTR docume
             TRACE( "\t%d: %s = %s\n", i, options[i].name, options[i].value );
 
         ret = pcupsPrintFile( queue, unixname, unix_doc_title, num_options, options );
+        if (ret == 0 && pcupsLastErrorString)
+            WARN("cupsPrintFile failed with error %s\n", debugstr_a(pcupsLastErrorString()));
 
         pcupsFreeOptions( num_options, options );
 
-- 
2.1.4




More information about the wine-patches mailing list