blob: 1ff3260f12f842dd349afb2c83995e6c1d8d6f0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#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);
err = errno;
_close(fd);
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);
err = errno;
_close(fd);
errno = err;
return ret;
}
|