/* 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 */
int ret;
/* make sure we flush any buffered data */
- x_fflush(f);
+ (void)x_fflush(f);
ret = close(f->fd);
f->fd = -1;
if (n == 0) {
/* it's full, flush it */
- x_fflush(f);
+ if (x_fflush(f) != 0) {
+ return -1;
+ }
continue;
}
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;
}
}