diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/srv_spoolss_util.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_spoolss_util.c b/source3/rpc_server/srv_spoolss_util.c index 79af761b0d..a20a772f57 100644 --- a/source3/rpc_server/srv_spoolss_util.c +++ b/source3/rpc_server/srv_spoolss_util.c @@ -1058,6 +1058,26 @@ static WERROR winreg_enumval_to_multi_sz(TALLOC_CTX *mem_ctx, return WERR_OK; } +static WERROR winreg_enumval_to_blob(TALLOC_CTX *mem_ctx, + struct spoolss_PrinterEnumValues *v, + const char *valuename, + DATA_BLOB *blob) +{ + /* just return if it is not the one we are looking for */ + if (strcmp(valuename, v->value_name) != 0) { + return WERR_NOT_FOUND; + } + + if (v->type != REG_BINARY) { + return WERR_INVALID_DATATYPE; + } + + blob->data = v->data->data; + blob->length = v->data_length; + + return WERR_OK; +} + /******************************************************************** Public winreg function for spoolss ********************************************************************/ |