diff options
| author | Junio C Hamano <gitster@pobox.com> | 2016-09-08 21:39:38 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2016-09-08 21:39:38 -0700 |
| commit | 49981d8a250837019b4a14f44d471fc6ff7e334f (patch) | |
| tree | c3394268eaaade296d7de692fe7e76bacb3be97b /wrapper.c | |
| parent | 0202c411edc25940cc381bf317badcdf67670be4 (diff) | |
| parent | 6ebdac1bab966b720d776aa43ca188fe378b1f4b (diff) | |
| download | git-49981d8a250837019b4a14f44d471fc6ff7e334f.tar.xz | |
Start maintenance track for 2.10.x series
Diffstat (limited to 'wrapper.c')
| -rw-r--r-- | wrapper.c | 52 |
1 files changed, 12 insertions, 40 deletions
@@ -651,56 +651,28 @@ int xsnprintf(char *dst, size_t max, const char *fmt, ...) return len; } -static int write_file_v(const char *path, int fatal, - const char *fmt, va_list params) +void write_file_buf(const char *path, const char *buf, size_t len) { - struct strbuf sb = STRBUF_INIT; - int fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0666); - if (fd < 0) { - if (fatal) - die_errno(_("could not open %s for writing"), path); - return -1; - } - strbuf_vaddf(&sb, fmt, params); - strbuf_complete_line(&sb); - if (write_in_full(fd, sb.buf, sb.len) != sb.len) { - int err = errno; - close(fd); - strbuf_release(&sb); - errno = err; - if (fatal) - die_errno(_("could not write to %s"), path); - return -1; - } - strbuf_release(&sb); - if (close(fd)) { - if (fatal) - die_errno(_("could not close %s"), path); - return -1; - } - return 0; + int fd = xopen(path, O_WRONLY | O_CREAT | O_TRUNC, 0666); + if (write_in_full(fd, buf, len) != len) + die_errno(_("could not write to %s"), path); + if (close(fd)) + die_errno(_("could not close %s"), path); } -int write_file(const char *path, const char *fmt, ...) +void write_file(const char *path, const char *fmt, ...) { - int status; va_list params; + struct strbuf sb = STRBUF_INIT; va_start(params, fmt); - status = write_file_v(path, 1, fmt, params); + strbuf_vaddf(&sb, fmt, params); va_end(params); - return status; -} -int write_file_gently(const char *path, const char *fmt, ...) -{ - int status; - va_list params; + strbuf_complete_line(&sb); - va_start(params, fmt); - status = write_file_v(path, 0, fmt, params); - va_end(params); - return status; + write_file_buf(path, sb.buf, sb.len); + strbuf_release(&sb); } void sleep_millisec(int millisec) |
