svn commit: samba r8261 - in branches/SAMBA_4_0/source: build/pidl librpc/ndr

tridge at samba.org tridge at samba.org
Sat Jul 9 12:51:45 GMT 2005


Author: tridge
Date: 2005-07-09 12:51:44 +0000 (Sat, 09 Jul 2005)
New Revision: 8261

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8261

Log:
charset style strings in pidl should be const, just like old style ndr strings


Modified:
   branches/SAMBA_4_0/source/build/pidl/ndr_header.pm
   branches/SAMBA_4_0/source/librpc/ndr/ndr_string.c


Changeset:
Modified: branches/SAMBA_4_0/source/build/pidl/ndr_header.pm
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/ndr_header.pm	2005-07-09 11:48:59 UTC (rev 8260)
+++ branches/SAMBA_4_0/source/build/pidl/ndr_header.pm	2005-07-09 12:51:44 UTC (rev 8261)
@@ -214,7 +214,7 @@
 	}
 
 	if (util::has_property($e, "charset")) {
-		pidl "char";
+		pidl "const char";
 	} else {
 		pidl typelist::mapType($e->{TYPE});
 	}

Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr_string.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/ndr_string.c	2005-07-09 11:48:59 UTC (rev 8260)
+++ branches/SAMBA_4_0/source/librpc/ndr/ndr_string.c	2005-07-09 12:51:44 UTC (rev 8261)
@@ -590,11 +590,11 @@
 }
 
 /* Return number of elements in a string including the last (zeroed) element */
-uint32_t ndr_string_length(void *_var, uint32_t element_size)
+uint32_t ndr_string_length(const void *_var, uint32_t element_size)
 {
 	uint32_t i;
 	uint8_t zero[4] = {0,0,0,0};
-	char *var = _var;
+	const char *var = _var;
 
 	for (i = 0; memcmp(var+i*element_size,zero,element_size) != 0; i++);
 
@@ -618,14 +618,14 @@
 
 }
 
-NTSTATUS ndr_pull_charset(struct ndr_pull *ndr, int ndr_flags, char **var, uint32_t length, uint8_t byte_mul, int chset)
+NTSTATUS ndr_pull_charset(struct ndr_pull *ndr, int ndr_flags, const char **var, uint32_t length, uint8_t byte_mul, int chset)
 {
 	int ret;
 	NDR_PULL_NEED_BYTES(ndr, length*byte_mul);
 	ret = convert_string_talloc(ndr, chset, CH_UNIX, 
 				    ndr->data+ndr->offset, 
 				    length*byte_mul,
-				    (void **)var);
+				    discard_const_p(void *, var));
 	if (ret == -1) {
 		return ndr_pull_error(ndr, NDR_ERR_CHARCNV, 
 				      "Bad character conversion");



More information about the samba-cvs mailing list