# HG changeset patch # User Christian Brabandt # Date 1505334605 -7200 # Node ID 579faede5d9c71a70bd420dd84b5903065227284 # Parent 3ba53234ccf34a9684dd0eda23d8a0290be5d9f7 patch 8.0.1101: channel write fails if writing to log fails commit https://github.com/vim/vim/commit/71eeb74a608ddae2b52fb43766616672d0cdda18 Author: Bram Moolenaar Date: Wed Sep 13 22:18:01 2017 +0200 patch 8.0.1101: channel write fails if writing to log fails Problem: Channel write fails if writing to log fails. Solution: Ignore return value of fwrite(). (Ozaki Kiichi, closes https://github.com/vim/vim/issues/2081) diff --git a/src/channel.c b/src/channel.c --- a/src/channel.c +++ b/src/channel.c @@ -138,7 +138,7 @@ ch_log_active(void) } static void -ch_log_lead(char *what, channel_T *ch) +ch_log_lead(const char *what, channel_T *ch) { if (log_fd != NULL) { @@ -1813,12 +1813,11 @@ channel_save(channel_T *channel, ch_part head->rq_prev = node; } - if (log_fd != NULL && lead != NULL) + if (ch_log_active() && lead != NULL) { ch_log_lead(lead, channel); fprintf(log_fd, "'"); - if (fwrite(buf, len, 1, log_fd) != 1) - return FAIL; + ignored = (int)fwrite(buf, len, 1, log_fd); fprintf(log_fd, "'\n"); } return OK; @@ -3385,7 +3384,7 @@ channel_read_block(channel_T *channel, c channel_consume(channel, part, (int)(nl - buf) + 1); } } - if (log_fd != NULL) + if (ch_log_active()) ch_log(channel, "Returning %d bytes", (int)STRLEN(msg)); return msg; } @@ -3670,7 +3669,7 @@ channel_send( return FAIL; } - if (log_fd != NULL) + if (ch_log_active()) { ch_log_lead("SEND ", channel); fprintf(log_fd, "'"); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1101, +/**/ 1100, /**/ 1099,