Lei Zhang : winspool: Check the return results from schedule_* functions.

Alexandre Julliard julliard at winehq.org
Tue Sep 30 11:15:44 CDT 2008


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

Author: Lei Zhang <thestig at google.com>
Date:   Sat Sep 27 13:16:26 2008 -0700

winspool: Check the return results from schedule_* functions.

---

 dlls/winspool.drv/info.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 4737e98..3ac336d 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -7574,6 +7574,7 @@ static BOOL schedule_lpr(LPCWSTR printer_name, LPCWSTR filename)
     char *unixname, *queue, *cmd;
     char fmt[] = "lpr -P%s %s";
     DWORD len;
+    int r;
 
     if(!(unixname = wine_get_unix_file_name(filename)))
         return FALSE;
@@ -7586,12 +7587,12 @@ static BOOL schedule_lpr(LPCWSTR printer_name, LPCWSTR filename)
     sprintf(cmd, fmt, queue, unixname);
 
     TRACE("printing with: %s\n", cmd);
-    system(cmd);
+    r = system(cmd);
 
     HeapFree(GetProcessHeap(), 0, cmd);
     HeapFree(GetProcessHeap(), 0, queue);
     HeapFree(GetProcessHeap(), 0, unixname);
-    return TRUE;
+    return (r == 0);
 }
 
 /*****************************************************************************
@@ -7714,10 +7715,11 @@ static BOOL schedule_file(LPCWSTR filename)
 
     if(get_filename(&output))
     {
+        BOOL r;
         TRACE("copy to %s\n", debugstr_w(output));
-        CopyFileW(filename, output, FALSE);
+        r = CopyFileW(filename, output, FALSE);
         HeapFree(GetProcessHeap(), 0, output);
-        return TRUE;
+        return r;
     }
     return FALSE;
 }
@@ -7869,23 +7871,23 @@ BOOL WINAPI ScheduleJob( HANDLE hPrinter, DWORD dwJobID )
             }
             if(output[0] == '|')
             {
-                schedule_pipe(output + 1, job->filename);
+                ret = schedule_pipe(output + 1, job->filename);
             }
             else if(output[0])
             {
-                schedule_unixfile(output, job->filename);
+                ret = schedule_unixfile(output, job->filename);
             }
             else if(!strncmpW(pi5->pPortName, LPR_Port, strlenW(LPR_Port)))
             {
-                schedule_lpr(pi5->pPortName + strlenW(LPR_Port), job->filename);
+                ret = schedule_lpr(pi5->pPortName + strlenW(LPR_Port), job->filename);
             }
             else if(!strncmpW(pi5->pPortName, CUPS_Port, strlenW(CUPS_Port)))
             {
-                schedule_cups(pi5->pPortName + strlenW(CUPS_Port), job->filename, job->document_title);
+                ret = schedule_cups(pi5->pPortName + strlenW(CUPS_Port), job->filename, job->document_title);
             }
             else if(!strncmpW(pi5->pPortName, FILE_Port, strlenW(FILE_Port)))
             {
-                schedule_file(job->filename);
+                ret = schedule_file(job->filename);
             }
             else
             {
@@ -7899,7 +7901,6 @@ BOOL WINAPI ScheduleJob( HANDLE hPrinter, DWORD dwJobID )
         HeapFree(GetProcessHeap(), 0, job->document_title);
         HeapFree(GetProcessHeap(), 0, job->filename);
         HeapFree(GetProcessHeap(), 0, job);
-        ret = TRUE;
         break;
     }
 end:




More information about the wine-cvs mailing list