--- gpart-0.1h.orig/src/l64seek.c +++ gpart-0.1h/src/l64seek.c @@ -25,30 +25,11 @@ } ostck[OSTACKLEN]; static int osptr = -1; -#if defined(__linux__) && defined(__i386__) -_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t *,res,uint,wh) -#endif - - - off64_t l64seek(int fd,off64_t offset,int whence) { off64_t ret = (off64_t)-1; -#if defined(__linux__) && defined(__i386__) - int iret; - unsigned long ohi, olo; - - ohi = (unsigned long)((offset >> 32) & 0xFFFFFFFF); - olo = (unsigned long)(offset & 0xFFFFFFFF); - iret = _llseek(fd,ohi,olo,&ret,whence); - if (iret == -1) - ret = (off64_t)-1; -#endif - -#if defined(__FreeBSD__) || (defined(__linux__) && defined(__alpha__)) ret = lseek(fd,offset,whence); -#endif return (ret); } --- gpart-0.1h.orig/src/l64seek.h +++ gpart-0.1h/src/l64seek.h @@ -17,6 +17,8 @@ #ifndef _L64SEEK_H #define _L64SEEK_H +#include +#include #include /* @@ -25,19 +27,7 @@ * offsets. */ - -#if defined(__linux__) -# include -# include - typedef int64_t off64_t; -#endif - - -#if defined(__FreeBSD__) - typedef off_t off64_t; -#endif - - +typedef loff_t off64_t; typedef off64_t s64_t; off64_t l64seek(int fd, off64_t offset, int whence); @@ -45,5 +35,4 @@ int l64opush(int); s64_t l64opop(int); - #endif