The branch, master has been updated
       via  6a13c02... rap: let the rap print function be autogenerated again.
       via  16e2185... s3: re-run make samba3-idl.
       via  62ef9ad... rap: use astring in IDL.
      from  6156a4b... s4-smbtorture: test all levels in test_netprintqgetinfo 
and test_netprintqenum.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6a13c028a94772b66788f2a213e8c09707ee6596
Author: Günther Deschner <[email protected]>
Date:   Fri Apr 30 01:11:44 2010 +0200

    rap: let the rap print function be autogenerated again.
    
    Guenther

commit 16e2185731afe482b3f12427253101efd3ad36c5
Author: Günther Deschner <[email protected]>
Date:   Fri Apr 30 01:21:13 2010 +0200

    s3: re-run make samba3-idl.
    
    Guenther

commit 62ef9ad581df87012858d88dcc30192ad29f46dc
Author: Günther Deschner <[email protected]>
Date:   Thu Apr 29 23:27:27 2010 +0200

    rap: use astring in IDL.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/ndr_rap.c | 1749 +++++++++++++++++++++++++++-------------------
 librpc/gen_ndr/ndr_rap.h |    4 +
 librpc/gen_ndr/rap.h     |   96 ++--
 librpc/idl/rap.idl       |   98 ++--
 librpc/ndr/ndr_rap.c     |   40 --
 librpc/ndr/ndr_rap.h     |    1 -
 6 files changed, 1133 insertions(+), 855 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/ndr_rap.c b/librpc/gen_ndr/ndr_rap.c
index c1a3889..6d97518 100644
--- a/librpc/gen_ndr/ndr_rap.c
+++ b/librpc/gen_ndr/ndr_rap.c
@@ -42,15 +42,22 @@ static enum ndr_err_code ndr_push_rap_share_info_1(struct 
ndr_push *ndr, int ndr
                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 
13));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->comment));
+                       }
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -65,26 +72,30 @@ static enum ndr_err_code ndr_pull_rap_share_info_1(struct 
ndr_pull *ndr, int ndr
                NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 
13));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
-               if (_ptr_comment) {
-                       NDR_PULL_ALLOC(ndr, r->comment);
-               } else {
-                       r->comment = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
+                       if (_ptr_comment) {
+                               NDR_PULL_ALLOC(ndr, r->comment);
+                       } else {
+                               r->comment = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
-                       if (ndr_get_array_length(ndr, &r->comment) > 
ndr_get_array_size(ndr, &r->comment)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->comment), ndr_get_array_length(ndr, &r->comment));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->comment));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 
0);
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -113,27 +124,41 @@ static enum ndr_err_code ndr_push_rap_share_info_2(struct 
ndr_push *ndr, int ndr
                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->share_name, 
13));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved1));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->share_type));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->perms));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->maximum_users));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->active_users));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->path));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->path));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->password, 
9));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved2));
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->comment));
+                       }
+                       ndr->flags = _flags_save_string;
                }
-               if (r->path) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->path, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->path, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->path, 
ndr_charset_length(r->path, CH_DOS), sizeof(uint8_t), CH_DOS));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->path) {
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->path));
+                       }
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -150,49 +175,57 @@ static enum ndr_err_code ndr_pull_rap_share_info_2(struct 
ndr_pull *ndr, int ndr
                NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->share_name, 
13));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved1));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->share_type));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
-               if (_ptr_comment) {
-                       NDR_PULL_ALLOC(ndr, r->comment);
-               } else {
-                       r->comment = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
+                       if (_ptr_comment) {
+                               NDR_PULL_ALLOC(ndr, r->comment);
+                       } else {
+                               r->comment = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->perms));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->maximum_users));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->active_users));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
-               if (_ptr_path) {
-                       NDR_PULL_ALLOC(ndr, r->path);
-               } else {
-                       r->path = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_path));
+                       if (_ptr_path) {
+                               NDR_PULL_ALLOC(ndr, r->path);
+                       } else {
+                               r->path = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->password, 
9));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved2));
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
-                       if (ndr_get_array_length(ndr, &r->comment) > 
ndr_get_array_size(ndr, &r->comment)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->comment), ndr_get_array_length(ndr, &r->comment));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
-               }
-               if (r->path) {
-                       _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
-                       if (ndr_get_array_length(ndr, &r->path) > 
ndr_get_array_size(ndr, &r->path)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->path), ndr_get_array_length(ndr, &r->path));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->path), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, 
ndr_get_array_length(ndr, &r->path), sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->comment));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 
0);
+                       }
+                       ndr->flags = _flags_save_string;
+               }
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->path) {
+                               _mem_save_path_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->path));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
+                       }
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -374,15 +407,22 @@ static enum ndr_err_code 
ndr_push_rap_server_info_1(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_major));
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->version_minor));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->servertype));
-               NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->comment, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->comment, ndr_charset_length(r->comment, CH_DOS), sizeof(uint8_t), CH_DOS));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->comment));
+                       }
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -398,26 +438,30 @@ static enum ndr_err_code 
ndr_pull_rap_server_info_1(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_major));
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version_minor));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->servertype));
-               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
-               if (_ptr_comment) {
-                       NDR_PULL_ALLOC(ndr, r->comment);
-               } else {
-                       r->comment = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
+                       if (_ptr_comment) {
+                               NDR_PULL_ALLOC(ndr, r->comment);
+                       } else {
+                               r->comment = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->comment) {
-                       _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
-                       NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
-                       if (ndr_get_array_length(ndr, &r->comment) > 
ndr_get_array_size(ndr, &r->comment)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->comment), ndr_get_array_length(ndr, &r->comment));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->comment) {
+                               _mem_save_comment_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                               NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
+                               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, 
&r->comment));
+                               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 
0);
                        }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -566,39 +610,60 @@ static enum ndr_err_code 
ndr_push_rap_PrintJobInfo1(struct ndr_push *ndr, int nd
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->NotifyName, 16, 
sizeof(uint8_t), CH_DOS));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DataType, 10, 
sizeof(uint8_t), CH_DOS));
-               NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->PrintParameterString));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->PrintParameterString));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 
r->PrintParameterStringHigh));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
                NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, 
r->JobStatus));
-               NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->JobStatusString));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->JobStatusString));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 
r->JobStatusStringHigh));
                NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
-               NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->JobCommentString));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_push_short_relative_ptr1(ndr, 
r->JobCommentString));
+                       ndr->flags = _flags_save_string;
+               }
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 
r->JobCommentStringHigh));
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->PrintParameterString) {
-                       NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->PrintParameterString));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->PrintParameterString, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->PrintParameterString, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->PrintParameterString, ndr_charset_length(r->PrintParameterString, CH_DOS), 
sizeof(uint8_t), CH_DOS));
-               }
-               if (r->JobStatusString) {
-                       NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->JobStatusString));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->JobStatusString, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->JobStatusString, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->JobStatusString, ndr_charset_length(r->JobStatusString, CH_DOS), 
sizeof(uint8_t), CH_DOS));
-               }
-               if (r->JobCommentString) {
-                       NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->JobCommentString));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->JobCommentString, CH_DOS)));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
-                       NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 
ndr_charset_length(r->JobCommentString, CH_DOS)));
-                       NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, 
r->JobCommentString, ndr_charset_length(r->JobCommentString, CH_DOS), 
sizeof(uint8_t), CH_DOS));
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->PrintParameterString) {
+                               NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->PrintParameterString));
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->PrintParameterString));
+                       }
+                       ndr->flags = _flags_save_string;
+               }
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->JobStatusString) {
+                               NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->JobStatusString));
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->JobStatusString));
+                       }
+                       ndr->flags = _flags_save_string;
+               }
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->JobCommentString) {
+                               NDR_CHECK(ndr_push_short_relative_ptr2(ndr, 
r->JobCommentString));
+                               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, 
r->JobCommentString));
+                       }
+                       ndr->flags = _flags_save_string;
                }
        }
        return NDR_ERR_SUCCESS;
@@ -619,81 +684,93 @@ static enum ndr_err_code 
ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int nd
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->NotifyName, 
16, sizeof(uint8_t), CH_DOS));
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DataType, 10, 
sizeof(uint8_t), CH_DOS));
-               NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_PrintParameterString));
-               if (_ptr_PrintParameterString) {
-                       NDR_PULL_ALLOC(ndr, r->PrintParameterString);
-                       NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->PrintParameterString, _ptr_PrintParameterString));
-               } else {
-                       r->PrintParameterString = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_PrintParameterString));
+                       if (_ptr_PrintParameterString) {
+                               NDR_PULL_ALLOC(ndr, r->PrintParameterString);
+                               NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->PrintParameterString, _ptr_PrintParameterString));
+                       } else {
+                               r->PrintParameterString = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, 
&r->PrintParameterStringHigh));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
                NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, 
&r->JobStatus));
-               NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_JobStatusString));
-               if (_ptr_JobStatusString) {
-                       NDR_PULL_ALLOC(ndr, r->JobStatusString);
-                       NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->JobStatusString, _ptr_JobStatusString));
-               } else {
-                       r->JobStatusString = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_JobStatusString));
+                       if (_ptr_JobStatusString) {
+                               NDR_PULL_ALLOC(ndr, r->JobStatusString);
+                               NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->JobStatusString, _ptr_JobStatusString));
+                       } else {
+                               r->JobStatusString = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, 
&r->JobStatusStringHigh));
                NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
-               NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_JobCommentString));
-               if (_ptr_JobCommentString) {
-                       NDR_PULL_ALLOC(ndr, r->JobCommentString);
-                       NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->JobCommentString, _ptr_JobCommentString));
-               } else {
-                       r->JobCommentString = NULL;
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       NDR_CHECK(ndr_pull_relative_ptr_short(ndr, 
&_ptr_JobCommentString));
+                       if (_ptr_JobCommentString) {
+                               NDR_PULL_ALLOC(ndr, r->JobCommentString);
+                               NDR_CHECK(ndr_pull_relative_ptr1(ndr, 
r->JobCommentString, _ptr_JobCommentString));
+                       } else {
+                               r->JobCommentString = NULL;
+                       }
+                       ndr->flags = _flags_save_string;
                }
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, 
&r->JobCommentStringHigh));
                NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
-               if (r->PrintParameterString) {
-                       uint32_t _relative_save_offset;
-                       _relative_save_offset = ndr->offset;
-                       NDR_CHECK(ndr_pull_relative_ptr2(ndr, 
r->PrintParameterString));
-                       _mem_save_PrintParameterString_0 = 
NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->PrintParameterString, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, 
&r->PrintParameterString));
-                       NDR_CHECK(ndr_pull_array_length(ndr, 
&r->PrintParameterString));
-                       if (ndr_get_array_length(ndr, &r->PrintParameterString) 
> ndr_get_array_size(ndr, &r->PrintParameterString)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->PrintParameterString), ndr_get_array_length(ndr, &r->PrintParameterString));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->PrintParameterString), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->PrintParameterString, ndr_get_array_length(ndr, &r->PrintParameterString), 
sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, 
_mem_save_PrintParameterString_0, 0);
-               }
-               if (r->JobStatusString) {
-                       uint32_t _relative_save_offset;
-                       _relative_save_offset = ndr->offset;
-                       NDR_CHECK(ndr_pull_relative_ptr2(ndr, 
r->JobStatusString));
-                       _mem_save_JobStatusString_0 = NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->JobStatusString, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, 
&r->JobStatusString));
-                       NDR_CHECK(ndr_pull_array_length(ndr, 
&r->JobStatusString));
-                       if (ndr_get_array_length(ndr, &r->JobStatusString) > 
ndr_get_array_size(ndr, &r->JobStatusString)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->JobStatusString), ndr_get_array_length(ndr, &r->JobStatusString));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->JobStatusString), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->JobStatusString, ndr_get_array_length(ndr, &r->JobStatusString), 
sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobStatusString_0, 
0);
-               }
-               if (r->JobCommentString) {
-                       uint32_t _relative_save_offset;
-                       _relative_save_offset = ndr->offset;
-                       NDR_CHECK(ndr_pull_relative_ptr2(ndr, 
r->JobCommentString));
-                       _mem_save_JobCommentString_0 = 
NDR_PULL_GET_MEM_CTX(ndr);
-                       NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
-                       NDR_CHECK(ndr_pull_array_size(ndr, 
&r->JobCommentString));
-                       NDR_CHECK(ndr_pull_array_length(ndr, 
&r->JobCommentString));
-                       if (ndr_get_array_length(ndr, &r->JobCommentString) > 
ndr_get_array_size(ndr, &r->JobCommentString)) {
-                               return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
"Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, 
&r->JobCommentString), ndr_get_array_length(ndr, &r->JobCommentString));
-                       }
-                       NDR_CHECK(ndr_check_string_terminator(ndr, 
ndr_get_array_length(ndr, &r->JobCommentString), sizeof(uint8_t)));
-                       NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, 
&r->JobCommentString, ndr_get_array_length(ndr, &r->JobCommentString), 
sizeof(uint8_t), CH_DOS));
-                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 
0);
+               {
+                       uint32_t _flags_save_string = ndr->flags;
+                       ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
+                       if (r->PrintParameterString) {
+                               uint32_t _relative_save_offset;


-- 
Samba Shared Repository

Reply via email to