diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/lseek64.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/lseek64.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c new file mode 100644 index 000000000..f39e779f9 --- /dev/null +++ b/mdk-stage1/dietlibc/lib/lseek64.c @@ -0,0 +1,22 @@ +#include "dietfeatures.h" + +#ifdef WANT_LARGEFILE_BACKCOMPAT +#include <sys/stat.h> +#ifndef __NO_STAT64 +#include <errno.h> +#include <unistd.h> + +loff_t lseek64(int fildes, loff_t offset, int whence) { + loff_t tmp; + if (llseek(fildes,offset>>32,offset&0xffffffff,&tmp,whence)) { +#ifdef WANT_THREAD_SAFE + if (*__errno_location()!=ENOSYS) return -1; +#else + if (errno!=ENOSYS) return -1; +#endif + return (loff_t)lseek(fildes,(off_t)offset,whence); + } + return tmp; +} +#endif +#endif |