aboutsummaryrefslogtreecommitdiff
path: root/archive
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2013-01-07 17:54:21 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2013-01-07 17:54:21 +0000
commitf51ec51f5b83372510c8da84eceeb898a7790892 (patch)
tree3f1fd3a7cd5428ac3ff2515f81aafed10e6b4ec5 /archive
parent5915919120e2e85685d565c4537238889d2d9ab7 (diff)
downloadsg3_utils-f51ec51f5b83372510c8da84eceeb898a7790892.tar.gz
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
Diffstat (limited to 'archive')
-rw-r--r--archive/llseek.c9
1 files changed, 8 insertions, 1 deletions
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__ */