| #include <unistd.h> | |
| #include <fcntl.h> | |
| #include <errno.h> | |
| int truncate(const char *pathname, _off_t len){ | |
| int ret, err; | |
| int fd = _open(pathname,_O_BINARY|_O_RDWR); | |
| if (fd == -1) return fd; | |
| ret = ftruncate(fd,len); | |
| _get_errno(&err); | |
| _close(fd); | |
| _set_errno(err); | |
| return ret; | |
| } | |
| int truncate64(const char *pathname, _off64_t len){ | |
| int ret, err; | |
| int fd = _open(pathname,_O_BINARY|_O_RDWR); | |
| if (fd == -1) return fd; | |
| ret = ftruncate64(fd,len); | |
| _get_errno(&err); | |
| _close(fd); | |
| _set_errno(err); | |
| return ret; | |
| } |