summaryrefslogtreecommitdiff
path: root/src/system.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-05-18 17:49:32 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2013-05-18 17:55:07 -0700
commit478dade09a4288f73e963b7f185ef9f73b681b42 (patch)
treedf50bffa4c4d045b20ead3e3d945e39108088acc /src/system.h
parente605e40acf859eea2a1221d867ab3c086a1a1c15 (diff)
downloadcoreutils-478dade09a4288f73e963b7f185ef9f73b681b42.tar.xz
maint: port --enable-gcc-warnings to clang
* configure.ac: If clang, add -Wno-format-extra-args and -Wno-tautological-constant-out-of-range-compare. * gl/lib/rand-isaac.c (ind): * gl/lib/randread.c (readisaac): * src/ls.c (dev_ino_push, dev_ino_pop): * src/sort.c (buffer_linelim): * src/system.h (is_nul): * src/tail.c (tail_forever_inotify): Rewrite to avoid casts that clang dislikes. It's good to avoid casts anyway. * src/expr.c (integer_overflow): Declare only if it exists. (die): Remove; unused. * src/ls.c (dev_ino_push): New function, replacing ... (DEV_INO_PUSH): ... this removed macro. All uses changed. (decode_switches): Rewrite "str"+i to &str[i].
Diffstat (limited to 'src/system.h')
-rw-r--r--src/system.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/system.h b/src/system.h
index 94c968fbd..db8931635 100644
--- a/src/system.h
+++ b/src/system.h
@@ -496,21 +496,24 @@ ptr_align (void const *ptr, size_t alignment)
Note the word after the buffer must be non NUL. */
static inline bool _GL_ATTRIBUTE_PURE
-is_nul (const char *buf, size_t bufsize)
+is_nul (void const *buf, size_t bufsize)
{
typedef uintptr_t word;
+ void const *vp;
+ char const *cbuf = buf;
+ word const *wp = buf;
/* Find first nonzero *word*, or the word with the sentinel. */
- word *wp = (word *) buf;
while (*wp++ == 0)
continue;
/* Find the first nonzero *byte*, or the sentinel. */
- char *cp = (char *) (wp - 1);
+ vp = wp - 1;
+ char const *cp = vp;
while (*cp++ == 0)
continue;
- return cp > buf + bufsize;
+ return cbuf + bufsize < cp;
}
/* If 10*Accum + Digit_val is larger than the maximum value for Type,