diff options
| author | Ron <ron@debian.org> | 2009-06-27 04:44:27 +0930 |
|---|---|---|
| committer | Austin Foxley <austinf@cetoncorp.com> | 2009-07-09 01:36:09 -0700 |
| commit | c06d418fa75cc20a3f12576818b4d77f1c4cfdcb (patch) | |
| tree | 5d0a8b0bade6f42df8a955d2afce25aaef1b5040 | |
| parent | 8d2ed43af888c404e90bc94a3096194c86bc3dae (diff) | |
| download | uClibc-alpine-c06d418fa75cc20a3f12576818b4d77f1c4cfdcb.tar.bz2 uClibc-alpine-c06d418fa75cc20a3f12576818b4d77f1c4cfdcb.tar.xz | |
Avoid warnings about shifting more bits than we have
The test here is a constant expression and will compile out.
For platforms that don't need the shift the code gets slightly smaller
and simpler, for those that do the result is unchanged.
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| -rw-r--r-- | libc/sysdeps/linux/arm/posix_fadvise.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/arm/posix_fadvise.c b/libc/sysdeps/linux/arm/posix_fadvise.c index b23eb3d6b..278bff981 100644 --- a/libc/sysdeps/linux/arm/posix_fadvise.c +++ b/libc/sysdeps/linux/arm/posix_fadvise.c @@ -12,6 +12,8 @@ #if defined __NR_arm_fadvise64_64 +#define HIGH_BITS(x) (sizeof(x) > 4 ? (x) >> 32 : 0) + /* Was named __libc_posix_fadvise for some inexplicable reason. ** google says only uclibc has *__libc*_posix_fadviseXXX, ** so it cannot be compat with anything. @@ -27,8 +29,8 @@ int posix_fadvise(int fd, off_t offset, off_t len, int advise) { INTERNAL_SYSCALL_DECL (err); int ret = INTERNAL_SYSCALL (arm_fadvise64_64, err, 6, fd, advise, - __LONG_LONG_PAIR ((long)(offset >> 32), (long)offset), - __LONG_LONG_PAIR ((long)(len >> 32), (long)len)); + __LONG_LONG_PAIR (HIGH_BITS(offset), (long)offset), + __LONG_LONG_PAIR (HIGH_BITS(len), (long)len)); if (INTERNAL_SYSCALL_ERROR_P (ret, err)) return INTERNAL_SYSCALL_ERRNO (ret, err); |
