mirror of
https://github.com/samba-team/samba.git
synced 2025-03-12 20:58:37 +03:00
r2900: 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.
This commit is contained in:
parent
4b5bf739f5
commit
2132d38f9c
@ -275,6 +275,7 @@ AC_CHECK_TYPE(ino_t,unsigned)
|
||||
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*)
|
||||
|
||||
|
||||
############################################
|
||||
|
@ -1068,9 +1068,29 @@ time_t timegm(struct tm *tm);
|
||||
#include <sys/xattr.h>
|
||||
#endif
|
||||
|
||||
#define discard_const_p(type, ptr) ((type *)discard_const(ptr))
|
||||
|
||||
#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))
|
||||
|
||||
#endif /* _INCLUDES_H */
|
||||
|
||||
|
@ -892,25 +892,3 @@ BOOL all_zero(const char *ptr, uint_t size)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user