embox
1/**
2* @file
3*
4* @date 06.08.09
5* @author Anton Bondarev
6*/
7
8#include <sys/types.h>9
10#include <fs/inode.h>11#include <fs/file_desc.h>12#include <fs/kfile.h>13
14int kftruncate(struct file_desc *desc, off_t length) {15int ret;16off_t pos;17
18pos = file_get_pos(desc);19
20ret = ktruncate(desc->f_inode, length);21if (0 > ret) {22/* XXX ktruncate sets errno */23return -errno;24}25
26if (pos > length) {27file_set_pos(desc, length);28}29
30return 0;31}
32