[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Jun 23 14:26:03 MDT 2010


The branch, master has been updated
       via  f34db12... Add parse_setjob_command() to make setting job state easier for users.
      from  ba40f38... s4-smbtorture: test more valid key names in RPC-WINREG.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f34db12d7f4a61757277d40153877338c4c9b55a
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Jun 23 13:25:15 2010 -0700

    Add parse_setjob_command() to make setting job state easier for users.
    
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source3/rpcclient/cmd_spoolss.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c
index 39c581c..0341b93 100644
--- a/source3/rpcclient/cmd_spoolss.c
+++ b/source3/rpcclient/cmd_spoolss.c
@@ -2724,6 +2724,33 @@ done:
 /****************************************************************************
 ****************************************************************************/
 
+static struct {
+	const char *name;
+	enum spoolss_JobControl val;
+} cmdvals[] = {
+	{"PAUSE", SPOOLSS_JOB_CONTROL_PAUSE},
+	{"RESUME", SPOOLSS_JOB_CONTROL_RESUME},
+	{"CANCEL", SPOOLSS_JOB_CONTROL_CANCEL},
+	{"RESTART", SPOOLSS_JOB_CONTROL_RESTART},
+	{"DELETE", SPOOLSS_JOB_CONTROL_DELETE},
+	{"SEND_TO_PRINTER", SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER},
+	{"EJECTED", SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED},
+	{"RETAIN", SPOOLSS_JOB_CONTROL_RETAIN},
+	{"RELEASE", SPOOLSS_JOB_CONTROL_RELEASE}
+};
+
+static enum spoolss_JobControl parse_setjob_command(const char *cmd)
+{
+	int i;
+
+	for (i = 0; i < sizeof(cmdvals)/sizeof(cmdvals[0]); i++) {
+		if (strequal(cmdvals[i].name, cmd)) {
+			return cmdvals[i].val;
+		}
+	}
+	return (enum spoolss_JobControl)atoi(cmd);
+}
+
 static WERROR cmd_spoolss_set_job(struct rpc_pipe_client *cli,
 				  TALLOC_CTX *mem_ctx, int argc,
 				  const char **argv)
@@ -2737,11 +2764,13 @@ static WERROR cmd_spoolss_set_job(struct rpc_pipe_client *cli,
 
 	if (argc != 4) {
 		printf("Usage: %s printername job_id command\n", argv[0]);
+		printf("command = [PAUSE|RESUME|CANCEL|RESTART|DELETE|"
+			"SEND_TO_PRINTER|EJECTED|RETAIN|RELEASE]\n");
 		return WERR_OK;
 	}
 
 	job_id = atoi(argv[2]);
-	command = atoi(argv[3]);
+	command = parse_setjob_command(argv[3]);
 
 	/* Open printer handle */
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list