svn commit: samba r22371 - in branches/SAMBA_4_0/source/lib/util: .

metze at samba.org metze at samba.org
Thu Apr 19 13:30:09 GMT 2007


Author: metze
Date: 2007-04-19 13:30:07 +0000 (Thu, 19 Apr 2007)
New Revision: 22371

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

Log:
readd discard_const() to lib/util/util.h

metze
Modified:
   branches/SAMBA_4_0/source/lib/util/util.h


Changeset:
Modified: branches/SAMBA_4_0/source/lib/util/util.h
===================================================================
--- branches/SAMBA_4_0/source/lib/util/util.h	2007-04-19 13:13:09 UTC (rev 22370)
+++ branches/SAMBA_4_0/source/lib/util/util.h	2007-04-19 13:30:07 UTC (rev 22371)
@@ -42,6 +42,33 @@
 #include "lib/util/util_proto.h"
 
 /**
+  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.
+*/
+#ifndef discard_const
+#define discard_const(ptr) ((void *)((intptr_t)(ptr)))
+#endif
+
+/** Type-safe version of discard_const */
+#ifndef discard_const_p
+#define discard_const_p(type, ptr) ((type *)discard_const(ptr))
+#endif
+
+/**
  * assert macros 
  */
 #define SMB_ASSERT(b) do { if (!(b)) { \



More information about the samba-cvs mailing list