Skip to content

Commit

Permalink
prefer xwrite instead of write
Browse files Browse the repository at this point in the history
Our xwrite wrapper already deals with a few potential hazards, and
are as such more robust. Prefer it instead of write to get the
robustness benefits everywhere.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Reviewed-and-improved-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Erik Faye-Lund authored and Junio C Hamano committed Jan 17, 2014
1 parent 4224916 commit 7edc02f
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 5 deletions.
2 changes: 1 addition & 1 deletion builtin/merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ static void squash_message(struct commit *commit, struct commit_list *remotehead
sha1_to_hex(commit->object.sha1));
pretty_print_commit(&ctx, commit, &out);
}
if (write(fd, out.buf, out.len) < 0)
if (write_in_full(fd, out.buf, out.len) != out.len)
die_errno(_("Writing SQUASH_MSG"));
if (close(fd))
die_errno(_("Finishing SQUASH_MSG"));
Expand Down
2 changes: 1 addition & 1 deletion streaming.c
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ int stream_blob_to_fd(int fd, unsigned const char *sha1, struct stream_filter *f
goto close_and_exit;
}
if (kept && (lseek(fd, kept - 1, SEEK_CUR) == (off_t) -1 ||
write(fd, "", 1) != 1))
xwrite(fd, "", 1) != 1))
goto close_and_exit;
result = 0;

Expand Down
5 changes: 2 additions & 3 deletions transport-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -1129,9 +1129,8 @@ static int udt_do_write(struct unidirectional_transfer *t)
return 0; /* Nothing to write. */

transfer_debug("%s is writable", t->dest_name);
bytes = write(t->dest, t->buf, t->bufuse);
if (bytes < 0 && errno != EWOULDBLOCK && errno != EAGAIN &&
errno != EINTR) {
bytes = xwrite(t->dest, t->buf, t->bufuse);
if (bytes < 0 && errno != EWOULDBLOCK) {
error("write(%s) failed: %s", t->dest_name, strerror(errno));
return -1;
} else if (bytes > 0) {
Expand Down

0 comments on commit 7edc02f

Please sign in to comment.