s3-net: better handle obscure 0x80070002 error reply when trying to update an
authorGünther Deschner <gd@samba.org>
Fri, 1 Oct 2010 04:08:47 +0000 (06:08 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 1 Oct 2010 06:33:46 +0000 (08:33 +0200)
not yet published printer.

Guenther

source3/utils/net_rpc_printer.c

index 79556669672f31817085e0aec57c06a6067878cd..0396e2a601e583e89ed4652f6bea82e0d93da90c 100644 (file)
@@ -1322,9 +1322,13 @@ static NTSTATUS rpc_printer_publish_internals_args(struct rpc_pipe_client *pipe_
                                                      0, /* command */
                                                      &result);
 
-               if (!W_ERROR_IS_OK(result) && (W_ERROR_V(result) != W_ERROR_V(WERR_IO_PENDING))) {
-                       printf(_("cannot set printer-info: %s\n"),
-                              win_errstr(result));
+               if (!W_ERROR_IS_OK(result) && !W_ERROR_EQUAL(result, WERR_IO_PENDING)) {
+                       if ((action == DSPRINT_UPDATE) && W_ERROR_EQUAL(result, W_ERROR(0x80070002))) {
+                               printf(_("printer not published yet\n"));
+                       } else {
+                               printf(_("cannot set printer-info: %s\n"),
+                                      win_errstr(result));
+                       }
                        goto done;
                }