summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-15 20:56:18 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-15 20:56:18 +0000
commit5bd51a1d5d88459eca341d252f156fcf32bdc222 (patch)
tree9284956eb56bbbc151d18f4f917d8621ce80e3cc /source4/librpc
parentc24f56e71c2d15ba0e41146abf4b0387a2461bac (diff)
downloadsamba-5bd51a1d5d88459eca341d252f156fcf32bdc222.tar.gz
samba-5bd51a1d5d88459eca341d252f156fcf32bdc222.tar.bz2
samba-5bd51a1d5d88459eca341d252f156fcf32bdc222.zip
the returned policy handle in spoolss_OpenPrinterEx() is pass by
reference (tim, my apoligies if this conflicts with an uncomitted fix from you) (This used to be commit fa0872e66359603a52813af13b45fdaeca98f5d0)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/spoolss.idl2
-rw-r--r--source4/librpc/ndr/ndr_spoolss.c11
2 files changed, 2 insertions, 11 deletions
diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl
index 8f12b266cf..0c7b2ae548 100644
--- a/source4/librpc/idl/spoolss.idl
+++ b/source4/librpc/idl/spoolss.idl
@@ -384,7 +384,7 @@
[in] uint32 access_required,
[in] uint32 level,
[in,switch_is(level)] spoolss_UserLevel userlevel,
- [out] policy_handle *handle
+ [out,ref] policy_handle *handle
);
/******************/
diff --git a/source4/librpc/ndr/ndr_spoolss.c b/source4/librpc/ndr/ndr_spoolss.c
index d346ebd9b2..be3082d69e 100644
--- a/source4/librpc/ndr/ndr_spoolss.c
+++ b/source4/librpc/ndr/ndr_spoolss.c
@@ -1152,16 +1152,7 @@ NTSTATUS ndr_pull_spoolss_44(struct ndr_pull *ndr, struct spoolss_44 *r)
NTSTATUS ndr_pull_spoolss_OpenPrinterEx(struct ndr_pull *ndr, struct spoolss_OpenPrinterEx *r)
{
- uint32 _ptr_handle;
- NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_handle));
- if (_ptr_handle) {
- NDR_ALLOC(ndr, r->out.handle);
- } else {
- r->out.handle = NULL;
- }
- if (r->out.handle) {
- NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
- }
+ NDR_CHECK(ndr_pull_policy_handle(ndr, r->out.handle));
NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
return NT_STATUS_OK;