File gpart-0.1h-kernel_syscall.diff of Package gpart
---
src/l64seek.c | 26 ++++----------------------
1 file changed, 4 insertions(+), 22 deletions(-)
Index: src/l64seek.c
===================================================================
--- src/l64seek.c.orig
+++ src/l64seek.c
@@ -25,32 +25,14 @@ static struct
} 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
+ off_t ret;
- return (ret);
+ ret = (off_t) offset;
+ ret = lseek(fd, ret, whence);
+ return (off64_t)ret;
}