summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-03-06 20:50:29 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-03-06 20:50:29 +0100
commit8cb40361c0de1cf5db3b4dcfed60645504eecabf (patch)
tree8d69fadb3d6789bcd42c2ba47d623e9caf6c4634
parentf3c742f925c31bdf1b0d52c82e0ef608a344e10f (diff)
libbb/loop.c: use common fix_u32.h trick
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--include/fix_u32.h6
-rw-r--r--libbb/loop.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/include/fix_u32.h b/include/fix_u32.h
index 4674e1c65..f1ff3bf54 100644
--- a/include/fix_u32.h
+++ b/include/fix_u32.h
@@ -8,28 +8,34 @@
#ifndef FIX_U32_H
#define FIX_U32_H 1
+#undef __u64
#undef u64
#undef u32
#undef u16
#undef u8
+#undef __s64
#undef s64
#undef s32
#undef s16
#undef s8
+#define __u64 bb_hack_u64
#define u64 bb_hack_u64
#define u32 bb_hack_u32
#define u16 bb_hack_u16
#define u8 bb_hack_u8
+#define __s64 bb_hack_s64
#define s64 bb_hack_s64
#define s32 bb_hack_s32
#define s16 bb_hack_s16
#define s8 bb_hack_s8
+typedef uint64_t __u64;
typedef uint64_t u64;
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;
+typedef int64_t __s64;
typedef int64_t s64;
typedef int32_t s32;
typedef int16_t s16;
diff --git a/libbb/loop.c b/libbb/loop.c
index a11933f35..07d16e011 100644
--- a/libbb/loop.c
+++ b/libbb/loop.c
@@ -8,6 +8,7 @@
* Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
*/
#include "libbb.h"
+#include "fix_u32.h" /* hack, so we may include kernel's linux/loop.h */
#include <linux/version.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
@@ -15,11 +16,6 @@
/* For 2.6, use the cleaned up header to get the 64 bit API. */
/* linux/loop.h relies on __u64. Make sure we have that as a proper type
* until userspace is widely fixed. */
-# if (defined __INTEL_COMPILER && !defined __GNUC__) \
- || (defined __GNUC__ && defined __STRICT_ANSI__)
-__extension__ typedef long long __s64;
-__extension__ typedef unsigned long long __u64;
-# endif
# include <linux/loop.h>
typedef struct loop_info64 bb_loop_info;
# define BB_LOOP_SET_STATUS LOOP_SET_STATUS64