From 5525dc5f09a79d30f6c52fc3a88c8bce3060e642 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 8 Apr 2008 15:08:47 -0700 Subject: [PATCH] Check x_fflush returns. Jeremy. --- source/lib/xfile.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/lib/xfile.c b/source/lib/xfile.c index ee6e5813329..d20a95b03a3 100644 --- a/source/lib/xfile.c +++ b/source/lib/xfile.c @@ -47,7 +47,7 @@ XFILE *x_stderr = &_x_stderr; /* simulate setvbuf() */ int x_setvbuf(XFILE *f, char *buf, int mode, size_t size) { - x_fflush(f); + if (x_fflush(f) != 0) return -1; if (f->bufused) return -1; /* on files being read full buffering is the only option */ @@ -150,7 +150,7 @@ int x_fclose(XFILE *f) int ret; /* make sure we flush any buffered data */ - x_fflush(f); + (void)x_fflush(f); ret = close(f->fd); f->fd = -1; @@ -189,7 +189,9 @@ size_t x_fwrite(const void *p, size_t size, size_t nmemb, XFILE *f) if (n == 0) { /* it's full, flush it */ - x_fflush(f); + if (x_fflush(f) != 0) { + return -1; + } continue; } @@ -204,7 +206,9 @@ size_t x_fwrite(const void *p, size_t size, size_t nmemb, XFILE *f) int i; for (i=(size*nmemb)-1; i>=0; i--) { if (*(i+(const char *)p) == '\n') { - x_fflush(f); + if (x_fflush(f) != 0) { + return -1; + } break; } } -- 2.11.4.GIT