summaryrefslogtreecommitdiffstats
path: root/source/rpcclient/cmd_spoolss.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/rpcclient/cmd_spoolss.c')
-rw-r--r--source/rpcclient/cmd_spoolss.c85
1 files changed, 42 insertions, 43 deletions
diff --git a/source/rpcclient/cmd_spoolss.c b/source/rpcclient/cmd_spoolss.c
index ec9d3048822..49f22b36546 100644
--- a/source/rpcclient/cmd_spoolss.c
+++ b/source/rpcclient/cmd_spoolss.c
@@ -1283,7 +1283,7 @@ void set_drv_info_3_env (DRIVER_INFO_3 *info, const char *arch)
wrapper for strtok to get the next parameter from a delimited list.
Needed to handle the empty parameter string denoted by "NULL"
*************************************************************************/
-static char* get_driver_3_param (char* str, const char* delim, UNISTR* dest)
+static char* get_driver_3_param (const char* str, const char* delim, UNISTR* dest)
{
char *ptr;
@@ -1310,8 +1310,11 @@ static char* get_driver_3_param (char* str, const char* delim, UNISTR* dest)
<Config File Name>:<Help File Name>:<Language Monitor Name>:\
<Default Data Type>:<Comma Separated list of Files>
*******************************************************************************/
-static BOOL init_drv_info_3_members ( TALLOC_CTX *mem_ctx, DRIVER_INFO_3 *info,
- char *args )
+static BOOL init_drv_info_3_members (
+ TALLOC_CTX *mem_ctx,
+ DRIVER_INFO_3 *info,
+ const char *args
+)
{
char *str, *str2;
uint32 len, i;
@@ -1367,7 +1370,6 @@ static WERROR cmd_spoolss_addprinterdriver(struct cli_state *cli,
DRIVER_INFO_3 info3;
const char *arch;
fstring driver_name;
- char *driver_args;
/* parse the command arguements */
if (argc != 3 && argc != 4)
@@ -1391,8 +1393,7 @@ static WERROR cmd_spoolss_addprinterdriver(struct cli_state *cli,
else
set_drv_info_3_env(&info3, arch);
- driver_args = talloc_strdup( mem_ctx, argv[2] );
- if (!init_drv_info_3_members(mem_ctx, &info3, driver_args ))
+ if (!init_drv_info_3_members(mem_ctx, &info3, argv[2]))
{
printf ("Error Invalid parameter list - %s.\n", argv[2]);
return WERR_INVALID_PARAM;
@@ -1812,38 +1813,6 @@ static WERROR cmd_spoolss_setform(struct cli_state *cli, TALLOC_CTX *mem_ctx,
return werror;
}
-static const char *get_form_flag(int form_flag)
-{
- switch (form_flag) {
- case FORM_USER:
- return "FORM_USER";
- case FORM_BUILTIN:
- return "FORM_BUILTIN";
- case FORM_PRINTER:
- return "FORM_PRINTER";
- default:
- return "unknown";
- }
-}
-
-static void display_form(FORM_1 *form)
-{
- fstring form_name = "";
-
- if (form->name.buffer)
- rpcstr_pull(form_name, form->name.buffer,
- sizeof(form_name), -1, STR_TERMINATE);
-
- printf("%s\n" \
- "\tflag: %s (%d)\n" \
- "\twidth: %d, length: %d\n" \
- "\tleft: %d, right: %d, top: %d, bottom: %d\n\n",
- form_name, get_form_flag(form->flag), form->flag,
- form->width, form->length,
- form->left, form->right,
- form->top, form->bottom);
-}
-
/* Get a form */
static WERROR cmd_spoolss_getform(struct cli_state *cli, TALLOC_CTX *mem_ctx,
@@ -1878,7 +1847,7 @@ static WERROR cmd_spoolss_getform(struct cli_state *cli, TALLOC_CTX *mem_ctx,
got_handle = True;
- /* Get the form */
+ /* Set the form */
werror = cli_spoolss_getform(cli, mem_ctx, 0, &needed,
&handle, argv[2], 1, &form);
@@ -1890,7 +1859,12 @@ static WERROR cmd_spoolss_getform(struct cli_state *cli, TALLOC_CTX *mem_ctx,
if (!W_ERROR_IS_OK(werror))
goto done;
- display_form(&form);
+ printf("width: %d\n", form.width);
+ printf("length: %d\n", form.length);
+ printf("left: %d\n", form.left);
+ printf("top: %d\n", form.top);
+ printf("right: %d\n", form.right);
+ printf("bottom: %d\n", form.bottom);
done:
if (got_handle)
@@ -1951,6 +1925,20 @@ static WERROR cmd_spoolss_deleteform(struct cli_state *cli,
/* Enumerate forms */
+static const char *get_form_flag(int form_flag)
+{
+ switch (form_flag) {
+ case FORM_USER:
+ return "FORM_USER";
+ case FORM_BUILTIN:
+ return "FORM_BUILTIN";
+ case FORM_PRINTER:
+ return "FORM_PRINTER";
+ default:
+ return "unknown";
+ }
+}
+
static WERROR cmd_spoolss_enum_forms(struct cli_state *cli,
TALLOC_CTX *mem_ctx, int argc,
const char **argv)
@@ -2000,9 +1988,20 @@ static WERROR cmd_spoolss_enum_forms(struct cli_state *cli,
/* Display output */
for (i = 0; i < num_forms; i++) {
-
- display_form(&forms[i]);
-
+ fstring form_name;
+
+ if (forms[i].name.buffer)
+ rpcstr_pull(form_name, forms[i].name.buffer,
+ sizeof(form_name), -1, STR_TERMINATE);
+
+ printf("%s\n" \
+ "\tflag: %s (%d)\n" \
+ "\twidth: %d, length: %d\n" \
+ "\tleft: %d, right: %d, top: %d, bottom: %d\n\n",
+ form_name, get_form_flag(forms[i].flag), forms[i].flag,
+ forms[i].width, forms[i].length,
+ forms[i].left, forms[i].right,
+ forms[i].top, forms[i].bottom);
}
done: