mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 17:05:49 +00:00
Merge pull request #269 from schu/infinite-append
gitfo_read: fix read-loop
This commit is contained in:
commit
3bf3ad9f03
@ -90,10 +90,8 @@ int gitfo_read(git_file fd, void *buf, size_t cnt)
|
||||
continue;
|
||||
return git__throw(GIT_EOSERR, "Failed to read from file");
|
||||
}
|
||||
if (!r) {
|
||||
errno = EPIPE;
|
||||
return git__throw(GIT_EOSERR, "Failed to read from file");
|
||||
}
|
||||
if (!r)
|
||||
break;
|
||||
cnt -= r;
|
||||
b += r;
|
||||
}
|
||||
|
@ -675,6 +675,23 @@ BEGIN_TEST(filebuf0, "make sure git_filebuf_open doesn't delete an existing lock
|
||||
must_pass(gitfo_unlink(testlock));
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(filebuf1, "make sure GIT_FILEBUF_APPEND works as expected")
|
||||
git_filebuf file;
|
||||
int fd;
|
||||
char test[] = "test";
|
||||
|
||||
fd = gitfo_creat(test, 0644);
|
||||
must_pass(fd);
|
||||
must_pass(gitfo_write(fd, "libgit2 rocks\n", 14));
|
||||
must_pass(gitfo_close(fd));
|
||||
|
||||
must_pass(git_filebuf_open(&file, test, GIT_FILEBUF_APPEND));
|
||||
must_pass(git_filebuf_printf(&file, "%s\n", "libgit2 rocks"));
|
||||
must_pass(git_filebuf_commit(&file));
|
||||
|
||||
must_pass(gitfo_unlink(test));
|
||||
END_TEST
|
||||
|
||||
BEGIN_SUITE(core)
|
||||
ADD_TEST(string0);
|
||||
ADD_TEST(string1);
|
||||
@ -698,4 +715,5 @@ BEGIN_SUITE(core)
|
||||
ADD_TEST(dirent4);
|
||||
|
||||
ADD_TEST(filebuf0);
|
||||
ADD_TEST(filebuf1);
|
||||
END_SUITE
|
||||
|
Loading…
Reference in New Issue
Block a user