spoolss: use subcontext in NDR_SPOOLSS_PUSH_ENUM_OUT macro.
authorStefan Metzmacher <metze@samba.org>
Wed, 23 Dec 2009 14:52:39 +0000 (15:52 +0100)
committerKarolin Seeger <kseeger@samba.org>
Fri, 19 Feb 2010 11:28:11 +0000 (12:28 +0100)
metze
(cherry picked from commit a4c3aeb79306190b09e284a6a28e3b40fbc5823b)

librpc/ndr/ndr_spoolss_buf.c

index 7d9c2119c0cd0ab6705da338e12db58ef4dee9f0..783f20b50f1084a7b5b64140d1ace57ce5cb757c 100644 (file)
                NDR_ERR_HAVE_NO_MEMORY(_ndr_info);\
                _ndr_info->flags= ndr->flags;\
                if (r->out.info) {\
+                       struct ndr_push *_subndr_info;\
                        struct __##fn __r;\
                        __r.in.level    = r->in.level;\
                        __r.in.count    = *r->out.count;\
                        __r.out.info    = *r->out.info;\
-                       NDR_CHECK(ndr_push___##fn(_ndr_info, flags, &__r)); \
+                       NDR_CHECK(ndr_push_subcontext_start(_ndr_info, &_subndr_info, 0, r->in.offered));\
+                       NDR_CHECK(ndr_push___##fn(_subndr_info, flags, &__r)); \
+                       NDR_CHECK(ndr_push_subcontext_end(_ndr_info, _subndr_info, 0, r->in.offered));\
                }\
                if (r->in.offered > _ndr_info->offset) {\
                        uint32_t _padding_len = r->in.offered - _ndr_info->offset;\