diff options
author | Jeremy Allison <jra@samba.org> | 2009-10-17 10:36:33 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-10-17 10:36:33 -0700 |
commit | 7c51fa6d699a653cafa90df8e44911b576118ebd (patch) | |
tree | 543bf9ca698e03eff81104898b33e77f1abed319 /source3/rpcclient/cmd_spoolss.c | |
parent | cc3a6770c77ec8fe1cd63bf4c682853c56201f0c (diff) | |
parent | 3e3214fd91471bca5b6c4d3782e922d252d588fb (diff) | |
download | samba-7c51fa6d699a653cafa90df8e44911b576118ebd.tar.gz samba-7c51fa6d699a653cafa90df8e44911b576118ebd.tar.bz2 samba-7c51fa6d699a653cafa90df8e44911b576118ebd.zip |
Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba
Diffstat (limited to 'source3/rpcclient/cmd_spoolss.c')
-rw-r--r-- | source3/rpcclient/cmd_spoolss.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c index 48f9df3cac..8b1a6eac03 100644 --- a/source3/rpcclient/cmd_spoolss.c +++ b/source3/rpcclient/cmd_spoolss.c @@ -689,7 +689,8 @@ static WERROR cmd_spoolss_getprinter(struct rpc_pipe_client *cli, static void display_reg_value(struct regval_blob value) { - char *text = NULL; + const char *text = NULL; + DATA_BLOB blob; switch(value.type) { case REG_DWORD: @@ -697,11 +698,8 @@ static void display_reg_value(struct regval_blob value) *((uint32_t *) value.data_p)); break; case REG_SZ: - rpcstr_pull_talloc(talloc_tos(), - &text, - value.data_p, - value.size, - STR_TERMINATE); + blob = data_blob_const(value.data_p, value.size); + pull_reg_sz(talloc_tos(), &blob, &text); printf("%s: REG_SZ: %s\n", value.valuename, text ? text : ""); break; case REG_BINARY: { @@ -723,18 +721,17 @@ static void display_reg_value(struct regval_blob value) break; } case REG_MULTI_SZ: { - uint32_t i, num_values; - char **values; + uint32_t i; + const char **values; + blob = data_blob_const(value.data_p, value.size); - if (!W_ERROR_IS_OK(reg_pull_multi_sz(NULL, value.data_p, - value.size, &num_values, - &values))) { - d_printf("reg_pull_multi_sz failed\n"); + if (!pull_reg_multi_sz(NULL, &blob, &values)) { + d_printf("pull_reg_multi_sz failed\n"); break; } printf("%s: REG_MULTI_SZ: \n", value.valuename); - for (i=0; i<num_values; i++) { + for (i=0; values[i] != NULL; i++) { d_printf("%s\n", values[i]); } TALLOC_FREE(values); |