diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-12 11:15:38 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-12 11:15:38 +1000 |
commit | fe36b8af64195f10acead12d4a4f426cc8772a8c (patch) | |
tree | af98810b529728d46a10f0ac1e2d3203b63323a2 /librpc/gen_ndr | |
parent | 51fd80647de9cb531181eb1eeefe9ad2c473f784 (diff) | |
parent | bbc0a56da59df8b7cd6f19f99cfaac9c3909779f (diff) | |
download | samba-fe36b8af64195f10acead12d4a4f426cc8772a8c.tar.gz samba-fe36b8af64195f10acead12d4a4f426cc8772a8c.tar.bz2 samba-fe36b8af64195f10acead12d4a4f426cc8772a8c.zip |
Merge branch 'master' of /home/tridge/samba/git/combined
Diffstat (limited to 'librpc/gen_ndr')
-rw-r--r-- | librpc/gen_ndr/ndr_netlogon.c | 24 | ||||
-rw-r--r-- | librpc/gen_ndr/netlogon.h | 2 |
2 files changed, 23 insertions, 3 deletions
diff --git a/librpc/gen_ndr/ndr_netlogon.c b/librpc/gen_ndr/ndr_netlogon.c index daba526e65..823c174ba5 100644 --- a/librpc/gen_ndr/ndr_netlogon.c +++ b/librpc/gen_ndr/ndr_netlogon.c @@ -7393,7 +7393,17 @@ static enum ndr_err_code ndr_push_netr_OsVersionInfoEx(struct ndr_push *ndr, int NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->MinorVersion)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BuildNumber)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PlatformId)); - NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16)); + { + uint32_t _flags_save_string = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + { + struct ndr_push *_ndr_CSDVersion; + NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256)); + NDR_CHECK(ndr_push_string(_ndr_CSDVersion, NDR_SCALARS, r->CSDVersion)); + NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_CSDVersion, 0, 256)); + } + ndr->flags = _flags_save_string; + } NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMajor)); NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ServicePackMinor)); NDR_CHECK(ndr_push_netr_SuiteMask(ndr, NDR_SCALARS, r->SuiteMask)); @@ -7414,7 +7424,17 @@ static enum ndr_err_code ndr_pull_netr_OsVersionInfoEx(struct ndr_pull *ndr, int NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MinorVersion)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BuildNumber)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PlatformId)); - NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->CSDVersion, 128, sizeof(uint16_t), CH_UTF16)); + { + uint32_t _flags_save_string = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + { + struct ndr_pull *_ndr_CSDVersion; + NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_CSDVersion, 0, 256)); + NDR_CHECK(ndr_pull_string(_ndr_CSDVersion, NDR_SCALARS, &r->CSDVersion)); + NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_CSDVersion, 0, 256)); + } + ndr->flags = _flags_save_string; + } NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMajor)); NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ServicePackMinor)); NDR_CHECK(ndr_pull_netr_SuiteMask(ndr, NDR_SCALARS, &r->SuiteMask)); diff --git a/librpc/gen_ndr/netlogon.h b/librpc/gen_ndr/netlogon.h index 0a314e13c5..234ea10ff3 100644 --- a/librpc/gen_ndr/netlogon.h +++ b/librpc/gen_ndr/netlogon.h @@ -930,7 +930,7 @@ struct netr_OsVersionInfoEx { uint32_t MinorVersion; uint32_t BuildNumber; uint32_t PlatformId; - const char *CSDVersion;/* [charset(UTF16)] */ + const char * CSDVersion;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */ uint16_t ServicePackMajor; uint16_t ServicePackMinor; uint16_t SuiteMask; |