Changeset: a53f4d178d47 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a53f4d178d47 Modified Files: common/stream/stream.c Branch: Aug2018 Log Message:
When closing a stream, first flush. This fixes bug 6662. diffs (52 lines): diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -1019,14 +1019,6 @@ stream_gzwrite(stream *restrict s, const return size == 0 ? -1 : (ssize_t) size; } -static void -stream_gzclose(stream *s) -{ - if (s->stream_data.p) - gzclose((gzFile) s->stream_data.p); - s->stream_data.p = NULL; -} - static int stream_gzflush(stream *s) { @@ -1038,6 +1030,15 @@ stream_gzflush(stream *s) return 0; } +static void +stream_gzclose(stream *s) +{ + stream_gzflush(s); + if (s->stream_data.p) + gzclose((gzFile) s->stream_data.p); + s->stream_data.p = NULL; +} + static stream * open_gzstream(const char *restrict filename, const char *restrict flags) { @@ -4088,6 +4089,8 @@ bs_close(stream *ss) assert(s); if (s == NULL) return; + if (ss->access == ST_WRITE && s->nr > 0) + bs_flush(ss); if (s->s) s->s->close(s->s); } @@ -4752,6 +4755,8 @@ bs2_close(stream *ss) assert(s); if (s == NULL) return; + if (ss->access == ST_WRITE && s->nr > 0) + bs2_flush(ss); assert(s->s); if (s->s) s->s->close(s->s); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list