Source
pub fn ftruncate(fd: i32, length: i64) usize {
if (@hasField(SYS, "ftruncate64") and usize_bits < 64) {
const length_halves = splitValue64(length);
if (require_aligned_register_pair) {
return syscall4(
.ftruncate64,
@as(usize, @bitCast(@as(isize, fd))),
0,
length_halves[0],
length_halves[1],
);
} else {
return syscall3(
.ftruncate64,
@as(usize, @bitCast(@as(isize, fd))),
length_halves[0],
length_halves[1],
);
}
} else {
return syscall2(
.ftruncate,
@as(usize, @bitCast(@as(isize, fd))),
@as(usize, @bitCast(length)),
);
}
}