git/t/helper/test-truncate.c

26 lines
456 B
C

#include "test-tool.h"
#include "git-compat-util.h"
/*
* Truncate a file to the given size.
*/
int cmd__truncate(int argc, const char **argv)
{
char *p = NULL;
uintmax_t sz = 0;
int fd = -1;
if (argc != 3)
die("expected filename and size");
sz = strtoumax(argv[2], &p, 0);
if (*p)
die("invalid size");
fd = xopen(argv[1], O_WRONLY | O_CREAT, 0600);
if (ftruncate(fd, (off_t) sz) < 0)
die_errno("failed to truncate file");
return 0;
}