1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#include "dietfeatures.h"
#include <errno.h>
#ifdef WANT_LARGEFILE_BACKCOMPAT
#include <sys/stat.h>
#include "syscalls.h"
#include <unistd.h>
#ifndef __NO_STAT64
#ifdef __NR_truncate64
extern int __dietlibc_truncate64(const char* f, loff_t o);
int truncate64(const char* f, loff_t o) {
int tmp;
if ((tmp=__dietlibc_truncate64(f,o))==-1) {
if (errno!=ENOSYS) return -1;
if (o>0x7fffffff) { errno=EOVERFLOW; return -1; }
return truncate(f,o);
}
return tmp;
}
#endif
#endif
#endif
|