From f51ec51f5b83372510c8da84eceeb898a7790892 Mon Sep 17 00:00:00 2001 From: Douglas Gilbert Date: Mon, 7 Jan 2013 17:54:21 +0000 Subject: sginfo, sg_inq + llseek.c: H. Reinecke small patches git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@473 6180dd3e-e324-4e3e-922d-17de1ae2f315 --- archive/llseek.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'archive') diff --git a/archive/llseek.c b/archive/llseek.c index fbb0a5cc..fcc53faa 100644 --- a/archive/llseek.c +++ b/archive/llseek.c @@ -8,6 +8,9 @@ * of fdisk. It allows seeks to 64 bit offsets, if supported. * Changed "ext2_" prefix to "llse". */ + +#include "config.h" + #define _XOPEN_SOURCE 500 #define _GNU_SOURCE @@ -31,7 +34,7 @@ extern llse_loff_t llse_llseek (unsigned int, llse_loff_t, unsigned int); #else /* HAVE_LLSEEK */ -#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__) +#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__) || defined (__x86_64__) || defined (__powerpc64__) #define my_llseek lseek @@ -65,10 +68,14 @@ static llse_loff_t my_llseek (unsigned int fd, llse_loff_t offset, llse_loff_t result; int retval; +#ifdef HAVE_LSEEK64 + return lseek64 (fd, offset, origin); +#else retval = _llseek (fd, ((uint64_t) offset) >> 32, ((uint64_t) offset) & 0xffffffff, &result, origin); return (retval == -1 ? (llse_loff_t) retval : result); +#endif } #endif /* __alpha__ */ -- cgit v1.2.3