diff options
author | vapier <vapier@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-06-28 23:50:18 +0000 |
---|---|---|
committer | vapier <vapier@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2005-06-28 23:50:18 +0000 |
commit | c76b8c3e247ef5f0ce9ec99299792a90986eb920 (patch) | |
tree | 660202ab4c974731c650b4a633997ccda131eec9 /e2fsprogs/blkid | |
parent | 8bbe710b7e23ac570f0524fcd1f89a68cf52cf2d (diff) | |
download | busybox-w32-c76b8c3e247ef5f0ce9ec99299792a90986eb920.tar.gz busybox-w32-c76b8c3e247ef5f0ce9ec99299792a90986eb920.tar.bz2 busybox-w32-c76b8c3e247ef5f0ce9ec99299792a90986eb920.zip |
rip out all the non-linux code and ugly workarounds
git-svn-id: svn://busybox.net/trunk/busybox@10608 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'e2fsprogs/blkid')
-rw-r--r-- | e2fsprogs/blkid/llseek.c | 90 |
1 files changed, 3 insertions, 87 deletions
diff --git a/e2fsprogs/blkid/llseek.c b/e2fsprogs/blkid/llseek.c index b5dde03cf..82388dd63 100644 --- a/e2fsprogs/blkid/llseek.c +++ b/e2fsprogs/blkid/llseek.c | |||
@@ -19,70 +19,14 @@ | |||
19 | #if HAVE_UNISTD_H | 19 | #if HAVE_UNISTD_H |
20 | #include <unistd.h> | 20 | #include <unistd.h> |
21 | #endif | 21 | #endif |
22 | #ifdef __MSDOS__ | ||
23 | #include <io.h> | ||
24 | #endif | ||
25 | 22 | ||
26 | #include "blkidP.h" | 23 | #include "blkidP.h" |
27 | 24 | ||
28 | #ifdef __linux__ | 25 | #ifdef CONFIG_LFS |
29 | 26 | # define my_llseek lseek64 | |
30 | #if defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE) | ||
31 | |||
32 | #define my_llseek lseek64 | ||
33 | |||
34 | #elif defined(HAVE_LLSEEK) | ||
35 | #include <syscall.h> | ||
36 | |||
37 | #ifndef HAVE_LLSEEK_PROTOTYPE | ||
38 | extern long long llseek(int fd, long long offset, int origin); | ||
39 | #endif | ||
40 | |||
41 | #define my_llseek llseek | ||
42 | |||
43 | #else /* ! HAVE_LLSEEK */ | ||
44 | |||
45 | #if defined(__alpha__) || defined(__ia64__) | ||
46 | |||
47 | #define llseek lseek | ||
48 | |||
49 | #else /* !__alpha__ && !__ia64__*/ | ||
50 | |||
51 | #include <linux/unistd.h> | ||
52 | |||
53 | #ifndef __NR__llseek | ||
54 | #define __NR__llseek 140 | ||
55 | #endif | ||
56 | |||
57 | #ifndef __i386__ | ||
58 | static int _llseek(unsigned int, unsigned long, unsigned long, | ||
59 | blkid_loff_t *, unsigned int); | ||
60 | |||
61 | static _syscall5(int, _llseek, unsigned int, fd, unsigned long, offset_high, | ||
62 | unsigned long, offset_low, blkid_loff_t *, result, | ||
63 | unsigned int, origin) | ||
64 | #endif | ||
65 | |||
66 | static blkid_loff_t my_llseek(int fd, blkid_loff_t offset, int origin) | ||
67 | { | ||
68 | blkid_loff_t result; | ||
69 | int retval; | ||
70 | |||
71 | #ifndef __i386__ | ||
72 | retval = _llseek(fd, ((unsigned long long) offset) >> 32, | ||
73 | ((unsigned long long)offset) & 0xffffffff, | ||
74 | &result, origin); | ||
75 | #else | 27 | #else |
76 | retval = syscall(__NR__llseek, fd, ((unsigned long long) offset) >> 32, | 28 | # define my_llseek lseek |
77 | ((unsigned long long)offset) & 0xffffffff, | ||
78 | &result, origin); | ||
79 | #endif | 29 | #endif |
80 | return (retval == -1 ? (blkid_loff_t) retval : result); | ||
81 | } | ||
82 | |||
83 | #endif /* __alpha__ || __ia64__ */ | ||
84 | |||
85 | #endif /* HAVE_LLSEEK */ | ||
86 | 30 | ||
87 | blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int whence) | 31 | blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int whence) |
88 | { | 32 | { |
@@ -109,31 +53,3 @@ blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int whence) | |||
109 | } | 53 | } |
110 | return result; | 54 | return result; |
111 | } | 55 | } |
112 | |||
113 | #else /* !linux */ | ||
114 | |||
115 | #ifndef EOVERFLOW | ||
116 | #ifdef EXT2_ET_INVALID_ARGUMENT | ||
117 | #define EOVERFLOW EXT2_ET_INVALID_ARGUMENT | ||
118 | #else | ||
119 | #define EOVERFLOW 112 | ||
120 | #endif | ||
121 | #endif | ||
122 | |||
123 | blkid_loff_t blkid_llseek(int fd, blkid_loff_t offset, int origin) | ||
124 | { | ||
125 | #if defined(HAVE_LSEEK64) && defined(HAVE_LSEEK64_PROTOTYPE) | ||
126 | return lseek64 (fd, offset, origin); | ||
127 | #else | ||
128 | if ((sizeof(off_t) < sizeof(blkid_loff_t)) && | ||
129 | (offset >= ((blkid_loff_t) 1 << ((sizeof(off_t)*8) - 1)))) { | ||
130 | errno = EOVERFLOW; | ||
131 | return -1; | ||
132 | } | ||
133 | return lseek(fd, (off_t) offset, origin); | ||
134 | #endif | ||
135 | } | ||
136 | |||
137 | #endif /* linux */ | ||
138 | |||
139 | |||