ftruncate.c 303 B

1234567891011121314151617181920212223
  1. #include "lib.h"
  2. #include <sys/types.h>
  3. #include <unistd.h>
  4. #include <errno.h>
  5. #include "dir.h"
  6. int
  7. ftruncate(int fd, off_t length)
  8. {
  9. Dir d;
  10. if(length < 0){
  11. errno = EINVAL;
  12. return -1;
  13. }
  14. _nulldir(&d);
  15. d.length = length;
  16. if(_dirfwstat(fd, &d) < 0){
  17. _syserrno();
  18. return -1;
  19. }
  20. return 0;
  21. }