diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-07-05 03:34:12 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-07-05 03:34:12 +0200 |
commit | 9b1b62adc4e4c1e80d9f72180c6b7b1eaef9f95a (patch) | |
tree | 65a7b5ebb093903fd030aecda6ee204660d458d4 /libbb | |
parent | b22bbfffec182997827b0a71eeb93ddafbde602c (diff) | |
download | busybox-w32-9b1b62adc4e4c1e80d9f72180c6b7b1eaef9f95a.tar.gz busybox-w32-9b1b62adc4e4c1e80d9f72180c6b7b1eaef9f95a.tar.bz2 busybox-w32-9b1b62adc4e4c1e80d9f72180c6b7b1eaef9f95a.zip |
Patches to enable FreeBSD build
platform.h: fix wrong check for endianness, fix lchown
aliasing to chown on uclibc.
Code seems to not be affected in my testing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/bb_askpass.c | 3 | ||||
-rw-r--r-- | libbb/loop.c | 39 |
2 files changed, 26 insertions, 16 deletions
diff --git a/libbb/bb_askpass.c b/libbb/bb_askpass.c index c0dcf0c5f..073175c1f 100644 --- a/libbb/bb_askpass.c +++ b/libbb/bb_askpass.c | |||
@@ -37,6 +37,9 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt) | |||
37 | tcgetattr(fd, &oldtio); | 37 | tcgetattr(fd, &oldtio); |
38 | tcflush(fd, TCIFLUSH); | 38 | tcflush(fd, TCIFLUSH); |
39 | tio = oldtio; | 39 | tio = oldtio; |
40 | #ifndef IUCLC | ||
41 | # define IUCLC 0 | ||
42 | #endif | ||
40 | tio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY); | 43 | tio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY); |
41 | tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP); | 44 | tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP); |
42 | tcsetattr_stdin_TCSANOW(&tio); | 45 | tcsetattr_stdin_TCSANOW(&tio); |
diff --git a/libbb/loop.c b/libbb/loop.c index 7d2b420be..24dab1ac0 100644 --- a/libbb/loop.c +++ b/libbb/loop.c | |||
@@ -7,27 +7,35 @@ | |||
7 | * | 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 | |||
11 | #include "libbb.h" | 10 | #include "libbb.h" |
12 | |||
13 | /* For 2.6, use the cleaned up header to get the 64 bit API. */ | ||
14 | #include <linux/version.h> | 11 | #include <linux/version.h> |
12 | |||
15 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) | 13 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) |
16 | #include <linux/loop.h> | 14 | |
15 | /* 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 | * 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> | ||
17 | typedef struct loop_info64 bb_loop_info; | 24 | typedef struct loop_info64 bb_loop_info; |
18 | #define BB_LOOP_SET_STATUS LOOP_SET_STATUS64 | 25 | # define BB_LOOP_SET_STATUS LOOP_SET_STATUS64 |
19 | #define BB_LOOP_GET_STATUS LOOP_GET_STATUS64 | 26 | # define BB_LOOP_GET_STATUS LOOP_GET_STATUS64 |
20 | 27 | ||
21 | /* For 2.4 and earlier, use the 32 bit API (and don't trust the headers) */ | ||
22 | #else | 28 | #else |
23 | /* Stuff stolen from linux/loop.h for 2.4 and earlier kernels*/ | 29 | |
24 | #include <linux/posix_types.h> | 30 | /* For 2.4 and earlier, use the 32 bit API (and don't trust the headers) */ |
25 | #define LO_NAME_SIZE 64 | 31 | /* Stuff stolen from linux/loop.h for 2.4 and earlier kernels */ |
26 | #define LO_KEY_SIZE 32 | 32 | # include <linux/posix_types.h> |
27 | #define LOOP_SET_FD 0x4C00 | 33 | # define LO_NAME_SIZE 64 |
28 | #define LOOP_CLR_FD 0x4C01 | 34 | # define LO_KEY_SIZE 32 |
29 | #define BB_LOOP_SET_STATUS 0x4C02 | 35 | # define LOOP_SET_FD 0x4C00 |
30 | #define BB_LOOP_GET_STATUS 0x4C03 | 36 | # define LOOP_CLR_FD 0x4C01 |
37 | # define BB_LOOP_SET_STATUS 0x4C02 | ||
38 | # define BB_LOOP_GET_STATUS 0x4C03 | ||
31 | typedef struct { | 39 | typedef struct { |
32 | int lo_number; | 40 | int lo_number; |
33 | __kernel_dev_t lo_device; | 41 | __kernel_dev_t lo_device; |
@@ -60,7 +68,6 @@ char* FAST_FUNC query_loop(const char *device) | |||
60 | return dev; | 68 | return dev; |
61 | } | 69 | } |
62 | 70 | ||
63 | |||
64 | int FAST_FUNC del_loop(const char *device) | 71 | int FAST_FUNC del_loop(const char *device) |
65 | { | 72 | { |
66 | int fd, rc; | 73 | int fd, rc; |