diff --git a/source/lib/xfile.c b/source/lib/xfile.c index d20a95b..e44a92d 100644 --- a/source/lib/xfile.c +++ b/source/lib/xfile.c @@ -263,13 +263,13 @@ int x_fflush(XFILE *f) if (f->flags & X_FLAG_ERROR) return -1; + if (f->bufused == 0 || !f->buf) return 0; + if ((f->open_flags & O_ACCMODE) != O_WRONLY) { errno = EINVAL; return -1; } - if (f->bufused == 0 || !f->buf) return 0; - ret = write(f->fd, f->buf, f->bufused); if (ret == -1) return -1;