s3-spoolss: use rpccli_spoolss_addprinterex wrapper.
authorGünther Deschner <gd@samba.org>
Wed, 25 Feb 2009 00:11:01 +0000 (01:11 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 25 Feb 2009 10:16:29 +0000 (11:16 +0100)
Guenther

source3/rpcclient/cmd_spoolss.c
source3/utils/net_rpc_printer.c

index 4e1c7f142281ab273ef6fe154669e3276a815fc9..ba01f7aa8bbf80f5bc7bdf8abe2495afbd5c9726 100644 (file)
@@ -1526,14 +1526,8 @@ static WERROR cmd_spoolss_addprinterex(struct rpc_pipe_client *cli,
                                          int argc, const char **argv)
 {
        WERROR result;
-       NTSTATUS status;
        struct spoolss_SetPrinterInfoCtr info_ctr;
        struct spoolss_SetPrinterInfo2 info2;
-       struct policy_handle handle;
-       struct spoolss_DevmodeContainer devmode_ctr;
-       struct sec_desc_buf sd;
-       struct spoolss_UserLevelCtr userlevel_ctr;
-       struct spoolss_UserLevel1 level1;
 
        /* parse the command arguments */
        if (argc != 5)
@@ -1543,9 +1537,7 @@ static WERROR cmd_spoolss_addprinterex(struct rpc_pipe_client *cli,
         }
 
        /* Fill in the DRIVER_INFO_2 struct */
-       ZERO_STRUCT(devmode_ctr);
        ZERO_STRUCT(info2);
-       ZERO_STRUCT(sd);
 
        info2.printername       = argv[1];
        info2.drivername        = argv[3];
@@ -1573,25 +1565,8 @@ static WERROR cmd_spoolss_addprinterex(struct rpc_pipe_client *cli,
        info_ctr.level = 2;
        info_ctr.info.info2 = &info2;
 
-       level1.size             = 28; /* wild guess */
-       level1.build            = 1381;
-       level1.major            = 2;
-       level1.minor            = 0;
-       level1.processor        = 0;
-       level1.client           = global_myname();
-       level1.user             = cli->auth->user_name;
-
-       userlevel_ctr.level = 1;
-       userlevel_ctr.user_info.level1 = &level1;
-
-       status = rpccli_spoolss_AddPrinterEx(cli, mem_ctx,
-                                            cli->srv_name_slash,
-                                            &info_ctr,
-                                            &devmode_ctr,
-                                            &sd,
-                                            &userlevel_ctr,
-                                            &handle,
-                                            &result);
+       result = rpccli_spoolss_addprinterex(cli, mem_ctx,
+                                            &info_ctr);
        if (W_ERROR_IS_OK(result))
                printf ("Printer %s successfully installed.\n", argv[1]);
 
index 0f21e1758b0b13eef2172b67511bc78960b31a4f..f4dd824c8459b23f2fbd7e0f990cc4650bd00280 100644 (file)
@@ -2123,6 +2123,7 @@ NTSTATUS rpc_printer_migrate_printers_internals(struct net_context *c,
        bool got_hnd_src = false;
        bool got_hnd_dst = false;
        struct rpc_pipe_client *pipe_hnd_dst = NULL;
+       struct spoolss_SetPrinterInfoCtr info_ctr;
 
        DEBUG(3,("copying printers\n"));
 
@@ -2207,7 +2208,13 @@ NTSTATUS rpc_printer_migrate_printers_internals(struct net_context *c,
                /* copy each src printer to a dst printer 1:1,
                   maybe some values have to be changed though */
                d_printf("creating printer: %s\n", printername);
-               result = rpccli_spoolss_addprinterex (pipe_hnd_dst, mem_ctx, level, &ctr_src);
+
+               info_ctr.level = level;
+               info_ctr.info.info2 = (struct spoolss_SetPrinterInfo2 *)&info_src.info2;
+
+               result = rpccli_spoolss_addprinterex(pipe_hnd_dst,
+                                                    mem_ctx,
+                                                    &info_ctr);
 
                if (W_ERROR_IS_OK(result))
                        d_printf ("printer [%s] successfully added.\n", printername);