svn commit: samba r2900 - in branches/SAMBA_4_0/source: build/m4 include lib

tridge at samba.org tridge at samba.org
Mon Oct 11 01:03:27 GMT 2004


Author: tridge
Date: 2004-10-11 01:03:27 +0000 (Mon, 11 Oct 2004)
New Revision: 2900

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source&rev=2900&nolog=1

Log:
rusty pointed out to me that discard_const() can be done via a macro
on systems that have the intptr_t type, and for systems that don't
have it, they also almost certainly won't have -Wcast-qual, so we can use a 
void* cast.




Modified:
   branches/SAMBA_4_0/source/build/m4/rewrite.m4
   branches/SAMBA_4_0/source/include/includes.h
   branches/SAMBA_4_0/source/lib/util.c


Changeset:
Modified: branches/SAMBA_4_0/source/build/m4/rewrite.m4
===================================================================
--- branches/SAMBA_4_0/source/build/m4/rewrite.m4	2004-10-11 00:32:31 UTC (rev 2899)
+++ branches/SAMBA_4_0/source/build/m4/rewrite.m4	2004-10-11 01:03:27 UTC (rev 2900)
@@ -275,6 +275,7 @@
 AC_CHECK_TYPE(loff_t,off_t)
 AC_CHECK_TYPE(offset_t,loff_t)
 AC_CHECK_TYPE(ssize_t, int)
+AC_CHECK_TYPE(intptr_t, void*)
 
 
 ############################################

Modified: branches/SAMBA_4_0/source/include/includes.h
===================================================================
--- branches/SAMBA_4_0/source/include/includes.h	2004-10-11 00:32:31 UTC (rev 2899)
+++ branches/SAMBA_4_0/source/include/includes.h	2004-10-11 01:03:27 UTC (rev 2900)
@@ -1068,9 +1068,29 @@
 #include <sys/xattr.h>
 #endif
 
+#define TALLOC_ABORT(reason) smb_panic(reason)
+
+
+/*
+  this is a warning hack. The idea is to use this everywhere that we
+  get the "discarding const" warning from gcc. That doesn't actually
+  fix the problem of course, but it means that when we do get to
+  cleaning them up we can do it by searching the code for
+  discard_const.
+
+  It also means that other error types aren't as swamped by the noise
+  of hundreds of const warnings, so we are more likely to notice when
+  we get new errors.
+
+  Please only add more uses of this macro when you find it
+  _really_ hard to fix const warnings. Our aim is to eventually use
+  this function in only a very few places.
+
+  Also, please call this via the discard_const_p() macro interface, as that
+  makes the return type safe.
+*/
+#define discard_const(ptr) ((void *)((intptr_t)(ptr)))
 #define discard_const_p(type, ptr) ((type *)discard_const(ptr))
 
-#define TALLOC_ABORT(reason) smb_panic(reason)
-
 #endif /* _INCLUDES_H */
 

Modified: branches/SAMBA_4_0/source/lib/util.c
===================================================================
--- branches/SAMBA_4_0/source/lib/util.c	2004-10-11 00:32:31 UTC (rev 2899)
+++ branches/SAMBA_4_0/source/lib/util.c	2004-10-11 01:03:27 UTC (rev 2900)
@@ -892,25 +892,3 @@
 }
 
 
-/*
-  this is a warning hack. The idea is to use this everywhere that we
-  get the "discarding const" warning from gcc, effectively moving all
-  the warnings to this one place. That doesn't actually fix the
-  problem of course, but it means that when we do get to cleaning them
-  up we can do it by searching the code for discard_const.
-
-  It also means that other error types aren't as swamped by the noise
-  of hundreds of const warnings, so we are more likely to notice when
-  we get new errors.
-
-  Please only add more calls to this function when you find it
-  _really_ hard to fix const warnings. Our aim is to eventually use
-  this function in only a very few places.
-
-  Also, please call this via the discard_const_p() macro interface, as that
-  makes the return type safe.
-*/
-void *discard_const(const void *ptr)
-{
-	return (void *)ptr;
-}



More information about the samba-cvs mailing list