aboutsummaryrefslogtreecommitdiff
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)
downloadbusybox-w32-8cb40361c0de1cf5db3b4dcfed60645504eecabf.tar.gz
busybox-w32-8cb40361c0de1cf5db3b4dcfed60645504eecabf.tar.bz2
busybox-w32-8cb40361c0de1cf5db3b4dcfed60645504eecabf.zip
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 @@
8#ifndef FIX_U32_H 8#ifndef FIX_U32_H
9#define FIX_U32_H 1 9#define FIX_U32_H 1
10 10
11#undef __u64
11#undef u64 12#undef u64
12#undef u32 13#undef u32
13#undef u16 14#undef u16
14#undef u8 15#undef u8
16#undef __s64
15#undef s64 17#undef s64
16#undef s32 18#undef s32
17#undef s16 19#undef s16
18#undef s8 20#undef s8
19 21
22#define __u64 bb_hack_u64
20#define u64 bb_hack_u64 23#define u64 bb_hack_u64
21#define u32 bb_hack_u32 24#define u32 bb_hack_u32
22#define u16 bb_hack_u16 25#define u16 bb_hack_u16
23#define u8 bb_hack_u8 26#define u8 bb_hack_u8
27#define __s64 bb_hack_s64
24#define s64 bb_hack_s64 28#define s64 bb_hack_s64
25#define s32 bb_hack_s32 29#define s32 bb_hack_s32
26#define s16 bb_hack_s16 30#define s16 bb_hack_s16
27#define s8 bb_hack_s8 31#define s8 bb_hack_s8
28 32
33typedef uint64_t __u64;
29typedef uint64_t u64; 34typedef uint64_t u64;
30typedef uint32_t u32; 35typedef uint32_t u32;
31typedef uint16_t u16; 36typedef uint16_t u16;
32typedef uint8_t u8; 37typedef uint8_t u8;
38typedef int64_t __s64;
33typedef int64_t s64; 39typedef int64_t s64;
34typedef int32_t s32; 40typedef int32_t s32;
35typedef int16_t s16; 41typedef 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 @@
8 * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. 8 * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
9 */ 9 */
10#include "libbb.h" 10#include "libbb.h"
11#include "fix_u32.h" /* hack, so we may include kernel's linux/loop.h */
11#include <linux/version.h> 12#include <linux/version.h>
12 13
13#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) 14#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
@@ -15,11 +16,6 @@
15/* For 2.6, use the cleaned up header to get the 64 bit API. */ 16/* For 2.6, use the cleaned up header to get the 64 bit API. */
16/* linux/loop.h relies on __u64. Make sure we have that as a proper type 17/* linux/loop.h relies on __u64. Make sure we have that as a proper type
17 * until userspace is widely fixed. */ 18 * until userspace is widely fixed. */
18# if (defined __INTEL_COMPILER && !defined __GNUC__) \
19 || (defined __GNUC__ && defined __STRICT_ANSI__)
20__extension__ typedef long long __s64;
21__extension__ typedef unsigned long long __u64;
22# endif
23# include <linux/loop.h> 19# include <linux/loop.h>
24typedef struct loop_info64 bb_loop_info; 20typedef struct loop_info64 bb_loop_info;
25# define BB_LOOP_SET_STATUS LOOP_SET_STATUS64 21# define BB_LOOP_SET_STATUS LOOP_SET_STATUS64