[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha2-779-g9620b86
Stefan Metzmacher
metze at samba.org
Tue Feb 12 15:19:04 GMT 2008
The branch, v4-0-test has been updated
via 9620b86e96e8065c0ff6db0d95130ab53581d468 (commit)
via 746a715715c7af8036192ba6d74e282ceaec8c0d (commit)
via bb143c76fb971bc2a1d69954d37ab20a953f2b69 (commit)
from 1a53aeff9a9e8fe83fde5a617463a5b363c45313 (commit)
http://gitweb.samba.org/?samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit 9620b86e96e8065c0ff6db0d95130ab53581d468
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Feb 12 16:16:35 2008 +0100
librpc: remove special support for fixed length strings
Fixed arrays with the charset() attribute do the same
metze
commit 746a715715c7af8036192ba6d74e282ceaec8c0d
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Feb 12 16:15:34 2008 +0100
spoolss.idl: don't use string32 anymore and use an charset() array
metze
commit bb143c76fb971bc2a1d69954d37ab20a953f2b69
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Feb 12 16:14:43 2008 +0100
nbt.idl: don't use astring15 anymore and use an charset() array
metze
-----------------------------------------------------------------------
Summary of changes:
source/librpc/idl/idl_types.h | 12 ----------
source/librpc/idl/nbt.idl | 2 +-
source/librpc/idl/spoolss.idl | 4 +-
source/librpc/ndr/libndr.h | 2 -
source/librpc/ndr/ndr_string.c | 45 +---------------------------------------
5 files changed, 4 insertions(+), 61 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/librpc/idl/idl_types.h b/source/librpc/idl/idl_types.h
index f21f3e6..01524c2 100644
--- a/source/librpc/idl/idl_types.h
+++ b/source/librpc/idl/idl_types.h
@@ -5,8 +5,6 @@
#define STR_NOTERM LIBNDR_FLAG_STR_NOTERM
#define STR_NULLTERM LIBNDR_FLAG_STR_NULLTERM
#define STR_BYTESIZE LIBNDR_FLAG_STR_BYTESIZE
-#define STR_FIXLEN32 LIBNDR_FLAG_STR_FIXLEN32
-#define STR_FIXLEN15 LIBNDR_FLAG_STR_FIXLEN15
#define STR_CONFORMANT LIBNDR_FLAG_STR_CONFORMANT
#define STR_CHARLEN LIBNDR_FLAG_STR_CHARLEN
#define STR_UTF8 LIBNDR_FLAG_STR_UTF8
@@ -22,16 +20,6 @@
#define nstring [flag(STR_NULLTERM)] string
/*
- fixed length 32 character UCS-2 string
-*/
-#define string32 [flag(STR_FIXLEN32)] string
-
-/*
- fixed length 16 character ascii string
-*/
-#define astring15 [flag(STR_ASCII|STR_FIXLEN15)] string
-
-/*
an ascii string prefixed with [offset] [length], both 32 bits
null terminated
*/
diff --git a/source/librpc/idl/nbt.idl b/source/librpc/idl/nbt.idl
index d4c2bf1..17304bf 100644
--- a/source/librpc/idl/nbt.idl
+++ b/source/librpc/idl/nbt.idl
@@ -143,7 +143,7 @@ interface nbt
} nbt_statistics;
typedef struct {
- astring15 name;
+ [charset(DOS)] uint8 name[15];
nbt_name_type type;
nb_flags nb_flags;
} nbt_status_name;
diff --git a/source/librpc/idl/spoolss.idl b/source/librpc/idl/spoolss.idl
index 114c06a..33b4dba 100644
--- a/source/librpc/idl/spoolss.idl
+++ b/source/librpc/idl/spoolss.idl
@@ -58,7 +58,7 @@ import "security.idl", "winreg.idl";
} spoolss_PrinterInfo0;
typedef [public,gensize] struct {
- string32 devicename;
+ [charset(UTF16)] uint16 devicename[32];
uint16 specversion;
uint16 driverversion;
uint16 size;
@@ -77,7 +77,7 @@ import "security.idl", "winreg.idl";
uint16 yresolution;
uint16 ttoption;
uint16 collate;
- string32 formname;
+ [charset(UTF16)] uint16 formname[32];
uint16 logpixels;
uint32 bitsperpel;
uint32 pelswidth;
diff --git a/source/librpc/ndr/libndr.h b/source/librpc/ndr/libndr.h
index 1ecc6f3..731ef0f 100644
--- a/source/librpc/ndr/libndr.h
+++ b/source/librpc/ndr/libndr.h
@@ -109,11 +109,9 @@ struct ndr_print {
#define LIBNDR_FLAG_STR_NULLTERM (1<<6)
#define LIBNDR_FLAG_STR_SIZE2 (1<<7)
#define LIBNDR_FLAG_STR_BYTESIZE (1<<8)
-#define LIBNDR_FLAG_STR_FIXLEN32 (1<<9)
#define LIBNDR_FLAG_STR_CONFORMANT (1<<10)
#define LIBNDR_FLAG_STR_CHARLEN (1<<11)
#define LIBNDR_FLAG_STR_UTF8 (1<<12)
-#define LIBNDR_FLAG_STR_FIXLEN15 (1<<13)
#define LIBNDR_STRING_FLAGS (0x7FFC)
diff --git a/source/librpc/ndr/ndr_string.c b/source/librpc/ndr/ndr_string.c
index 69a7eca..79548f8 100644
--- a/source/librpc/ndr/ndr_string.c
+++ b/source/librpc/ndr/ndr_string.c
@@ -259,24 +259,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
*s = as;
break;
- case LIBNDR_FLAG_STR_FIXLEN15:
- case LIBNDR_FLAG_STR_FIXLEN32:
- len1 = (flags & LIBNDR_FLAG_STR_FIXLEN32)?32:15;
- NDR_PULL_NEED_BYTES(ndr, len1*byte_mul);
- ret = convert_string_talloc(ndr->current_mem_ctx,
- ndr->iconv_convenience,
- chset, CH_UNIX,
- ndr->data+ndr->offset,
- len1*byte_mul,
- (void **)&as);
- if (ret == -1) {
- return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
- }
- NDR_CHECK(ndr_pull_advance(ndr, len1*byte_mul));
- *s = as;
- break;
-
case LIBNDR_FLAG_STR_NOTERM:
if (!(ndr->flags & LIBNDR_FLAG_REMAINING)) {
return ndr_pull_error(ndr, NDR_ERR_STRING, "Bad string flags 0x%x (missing NDR_REMAINING)\n",
@@ -349,10 +331,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_string(struct ndr_push *ndr, int ndr_flags,
flags &= ~LIBNDR_FLAG_STR_CONFORMANT;
- if (!(flags &
- (LIBNDR_FLAG_STR_NOTERM |
- LIBNDR_FLAG_STR_FIXLEN15 |
- LIBNDR_FLAG_STR_FIXLEN32))) {
+ if (!(flags & LIBNDR_FLAG_STR_NOTERM)) {
s_len++;
}
d_len = convert_string_talloc(ndr, ndr->iconv_convenience, CH_UNIX, chset, s, s_len, (void **)&dest);
@@ -399,21 +378,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_string(struct ndr_push *ndr, int ndr_flags,
NDR_CHECK(ndr_push_bytes(ndr, dest, d_len));
break;
- case LIBNDR_FLAG_STR_FIXLEN15:
- case LIBNDR_FLAG_STR_FIXLEN32: {
- ssize_t fix_len = (flags & LIBNDR_FLAG_STR_FIXLEN32)?32:15;
- uint32_t pad_len = fix_len - d_len;
- if (d_len > fix_len) {
- return ndr_push_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
- }
- NDR_CHECK(ndr_push_bytes(ndr, dest, d_len));
- if (pad_len != 0) {
- NDR_CHECK(ndr_push_zero(ndr, pad_len));
- }
- break;
- }
-
default:
if (ndr->flags & LIBNDR_FLAG_REMAINING) {
NDR_CHECK(ndr_push_bytes(ndr, dest, d_len));
@@ -439,13 +403,6 @@ _PUBLIC_ size_t ndr_string_array_size(struct ndr_push *ndr, const char *s)
unsigned byte_mul = 2;
unsigned c_len_term = 1;
- if (flags & LIBNDR_FLAG_STR_FIXLEN32) {
- return 32;
- }
- if (flags & LIBNDR_FLAG_STR_FIXLEN15) {
- return 15;
- }
-
c_len = s?strlen_m(s):0;
if (flags & (LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_UTF8)) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list