[SCM] Samba Shared Repository - branch master updated
Günther Deschner
gd at samba.org
Thu Apr 29 17:30:18 MDT 2010
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 <gd at samba.org>
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 <gd at samba.org>
Date: Fri Apr 30 01:21:13 2010 +0200
s3: re-run make samba3-idl.
Guenther
commit 62ef9ad581df87012858d88dcc30192ad29f46dc
Author: Günther Deschner <gd at samba.org>
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
More information about the samba-cvs
mailing list