diff --git a/src/_win/stdio.c b/src/_win/stdio.c index 3e19698..b599dd4 100644 --- a/src/_win/stdio.c +++ b/src/_win/stdio.c @@ -239,6 +239,15 @@ FILE *tmpfile(void) { } int fclose(FILE *stream) { + if(fflush(stream) == EOF) { + return EOF; + } + if(stream->buffer.is_internal) { + free(stream->buffer.data); + } + if(!CloseHandle(stream->handle)) { + return EOF; + } return 0; }