diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-07-20 16:13:05 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-20 17:17:09 -0700 |
commit | 559e840b74dbbf39633aa68627937a5f7a6d4145 (patch) | |
tree | 5d7104780be71a36cbccccd4de20c9363ee97a92 /write_or_die.c | |
parent | 7df1709c36ff93f56636ab11db612dedb0d2bed0 (diff) | |
download | git-559e840b74dbbf39633aa68627937a5f7a6d4145.tar.gz git-559e840b74dbbf39633aa68627937a5f7a6d4145.tar.xz |
Move read_in_full() and write_in_full() to wrapper.c
A few compat/* layer functions call these functions, but we would really
want to keep them thin, without depending too much on the libgit proper.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'write_or_die.c')
-rw-r--r-- | write_or_die.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/write_or_die.c b/write_or_die.c index e4c8e225f..4c29255df 100644 --- a/write_or_die.c +++ b/write_or_die.c @@ -45,44 +45,6 @@ void maybe_flush_or_die(FILE *f, const char *desc) } } -ssize_t read_in_full(int fd, void *buf, size_t count) -{ - char *p = buf; - ssize_t total = 0; - - while (count > 0) { - ssize_t loaded = xread(fd, p, count); - if (loaded <= 0) - return total ? total : loaded; - count -= loaded; - p += loaded; - total += loaded; - } - - return total; -} - -ssize_t write_in_full(int fd, const void *buf, size_t count) -{ - const char *p = buf; - ssize_t total = 0; - - while (count > 0) { - ssize_t written = xwrite(fd, p, count); - if (written < 0) - return -1; - if (!written) { - errno = ENOSPC; - return -1; - } - count -= written; - p += written; - total += written; - } - - return total; -} - void fsync_or_die(int fd, const char *msg) { if (fsync(fd) < 0) { |