summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/util.c20
-rw-r--r--source4/lib/util_str.c4
2 files changed, 22 insertions, 2 deletions
diff --git a/source4/lib/util.c b/source4/lib/util.c
index c09e1a2997..910a35217c 100644
--- a/source4/lib/util.c
+++ b/source4/lib/util.c
@@ -931,3 +931,23 @@ BOOL all_zero(const char *ptr, uint_t size)
return True;
}
+
+/*
+ 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 not
+ need this function at all,
+*/
+void *discard_const(const void *ptr)
+{
+ return (void *)ptr;
+}
diff --git a/source4/lib/util_str.c b/source4/lib/util_str.c
index cbe5988238..f8aadf8f59 100644
--- a/source4/lib/util_str.c
+++ b/source4/lib/util_str.c
@@ -703,7 +703,7 @@ char *strchr_m(const char *s, char c)
return NULL;
*p = 0;
pull_ucs2_pstring(s2, ws);
- return (char *)(s+strlen(s2));
+ return discard_const_p(char, s+strlen(s2));
}
char *strrchr_m(const char *s, char c)
@@ -724,7 +724,7 @@ char *strrchr_m(const char *s, char c)
return NULL;
*p = 0;
pull_ucs2_pstring(s2, ws);
- return (char *)(s+strlen(s2));
+ return discard_const_p(char, s+strlen(s2));
}
/**