From 269d491b6a71b5c3107681d95dcfa7b2baa4b538 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 4 Jul 2003 17:16:34 +0000 Subject: [PATCH] remove the usage of setvbuf() and use fflush() instead if no buffering should be done on the output --- src/main.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index 6b84f3f33..a40bc8be7 100644 --- a/src/main.c +++ b/src/main.c @@ -2063,6 +2063,7 @@ struct OutStruct { int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { + int rc; struct OutStruct *out=(struct OutStruct *)stream; struct Configurable *config = out->config; if(out && !out->stream) { @@ -2070,12 +2071,6 @@ int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) out->stream=fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure */ - if(config->nobuffer) { - /* disable output buffering */ -#ifdef HAVE_SETVBUF - setvbuf(out->stream, NULL, _IONBF, 0); -#endif - } } if(config->recvpersecond) { @@ -2098,7 +2093,13 @@ int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) config->lastrecvtime = now; } - return fwrite(buffer, size, nmemb, out->stream); + rc = fwrite(buffer, size, nmemb, out->stream); + + if(config->nobuffer) + /* disable output buffering */ + fflush(out->stream); + + return rc; } struct InStruct {