svn commit: samba r15851 - in branches/SAMBA_4_0/source/param: .

tridge at samba.org tridge at samba.org
Wed May 24 06:36:17 GMT 2006


Author: tridge
Date: 2006-05-24 06:36:17 +0000 (Wed, 24 May 2006)
New Revision: 15851

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

Log:

the conversion of loadparm to BOOL broke all big-endian platforms as
the service and global declarations were left as int. I tried to fix
this initially by fixing the service declarations, but it didn't
work. While I investigate why, this patch at least gets the use of int
right, and should give big-endian platforms a chance

Modified:
   branches/SAMBA_4_0/source/param/loadparm.c
   branches/SAMBA_4_0/source/param/loadparm.h


Changeset:
Modified: branches/SAMBA_4_0/source/param/loadparm.c
===================================================================
--- branches/SAMBA_4_0/source/param/loadparm.c	2006-05-24 05:18:55 UTC (rev 15850)
+++ branches/SAMBA_4_0/source/param/loadparm.c	2006-05-24 06:36:17 UTC (rev 15851)
@@ -784,7 +784,7 @@
 #define FN_GLOBAL_LIST(fn_name,ptr) \
  const char **fn_name(void) {return(*(const char ***)(ptr));}
 #define FN_GLOBAL_BOOL(fn_name,ptr) \
- BOOL fn_name(void) {return(*(BOOL *)(ptr));}
+ BOOL fn_name(void) {return((BOOL)*(int *)(ptr));}
 #define FN_GLOBAL_CHAR(fn_name,ptr) \
  char fn_name(void) {return(*(char *)(ptr));}
 #define FN_GLOBAL_INTEGER(fn_name,ptr) \
@@ -1443,7 +1443,7 @@
 
 			switch (parm_table[i].type) {
 				case P_BOOL:
-					*(BOOL *)dest_ptr = *(BOOL *)src_ptr;
+					*(int *)dest_ptr = *(int *)src_ptr;
 					break;
 
 				case P_INTEGER:
@@ -2035,7 +2035,7 @@
 			break;
 
 		case P_BOOL:
-			fprintf(f, "%s", BOOLSTR(*(BOOL *)ptr));
+			fprintf(f, "%s", BOOLSTR((BOOL)*(int *)ptr));
 			break;
 
 		case P_INTEGER:
@@ -2072,7 +2072,7 @@
 {
 	switch (type) {
 		case P_BOOL:
-			return (*((BOOL *)ptr1) == *((BOOL *)ptr2));
+			return (*((int *)ptr1) == *((int *)ptr2));
 
 		case P_INTEGER:
 		case P_BYTES:
@@ -2162,7 +2162,7 @@
 					*(char **)parm_table[i].ptr);
 		case P_BOOL:
 			return parm_table[i].def.bvalue ==
-				*(BOOL *)parm_table[i].ptr;
+				*(int *)parm_table[i].ptr;
 		case P_INTEGER:
 		case P_BYTES:
 		case P_ENUM:

Modified: branches/SAMBA_4_0/source/param/loadparm.h
===================================================================
--- branches/SAMBA_4_0/source/param/loadparm.h	2006-05-24 05:18:55 UTC (rev 15850)
+++ branches/SAMBA_4_0/source/param/loadparm.h	2006-05-24 06:36:17 UTC (rev 15851)
@@ -51,7 +51,7 @@
 	const struct enum_list *enum_list;
 	unsigned int flags;
 	union {
-		BOOL bvalue;
+		int bvalue;
 		int ivalue;
 		char *svalue;
 		char cvalue;



More information about the samba-cvs mailing list