Changeset: dcd4f07a2da3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dcd4f07a2da3
Modified Files:
        common/stream/stream.c
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_import.c
        monetdb5/modules/atoms/streams.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/tokenizer.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_scenario.c
Branch: default
Log Message:

Use close_stream() to close and destroy streams.


diffs (296 lines):

diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -3333,8 +3333,7 @@ ic_close(stream *s)
                if (!s->readonly)
                        ic_flush(s);
                iconv_close(ic->cd);
-               mnstr_close(ic->s);
-               mnstr_destroy(ic->s);
+               close_stream(ic->s);
                free(s->stream_data.p);
                s->stream_data.p = NULL;
        }
@@ -5502,8 +5501,7 @@ stream_fwf_close(stream *s)
 
        if (fsd != NULL) {
                stream_fwf_data *fsd = (stream_fwf_data *) s->stream_data.p;
-               mnstr_close(fsd->s);
-               mnstr_destroy(fsd->s);
+               close_stream(fsd->s);
                free(fsd->widths);
                free(fsd->in_buf);
                free(fsd->out_buf);
@@ -5540,22 +5538,19 @@ stream_fwf_create(stream *restrict s, si
        }
        fsd->in_buf = malloc(fsd->line_len);
        if (fsd->in_buf == NULL) {
-               mnstr_close(fsd->s);
-               mnstr_destroy(fsd->s);
+               close_stream(fsd->s);
                free(fsd);
                return NULL;
        }
        fsd->out_buf = malloc(fsd->line_len * 3);
        if (fsd->out_buf == NULL) {
-               mnstr_close(fsd->s);
-               mnstr_destroy(fsd->s);
+               close_stream(fsd->s);
                free(fsd->in_buf);
                free(fsd);
                return NULL;
        }
        if ((ns = create_stream(STREAM_FWF_NAME)) == NULL) {
-               mnstr_close(fsd->s);
-               mnstr_destroy(fsd->s);
+               close_stream(fsd->s);
                free(fsd->in_buf);
                free(fsd->out_buf);
                free(fsd);
diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -186,8 +186,7 @@ MCexitClient(Client c)
        MPresetProfiler(c->fdout);
        if (c->father == NULL) { /* normal client */
                if (c->fdout && c->fdout != GDKstdout) {
-                       (void) mnstr_close(c->fdout);
-                       (void) mnstr_destroy(c->fdout);
+                       close_stream(c->fdout);
                }
                assert(c->bak == NULL);
                if (c->fdin) {
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -265,7 +265,7 @@ evalFile(str fname, int listing)
        GDKfree(filename);
        if (fd == 0 || mnstr_errnr(fd) == MNSTR_OPEN_ERROR) {
                if (fd)
-                       mnstr_destroy(fd);
+                       close_stream(fd);
                throw(MAL,"mal.eval", "WARNING: could not open file\n");
        } 
 
diff --git a/monetdb5/modules/atoms/streams.c b/monetdb5/modules/atoms/streams.c
--- a/monetdb5/modules/atoms/streams.c
+++ b/monetdb5/modules/atoms/streams.c
@@ -26,7 +26,7 @@ str mnstr_open_rstreamwrap(Stream *S, st
        if ((s = open_rstream(*filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                throw(IO, "streams.open", "could not open file '%s': %s",
                                *filename, strerror(errnr));
        } else {
@@ -42,7 +42,7 @@ str mnstr_open_wstreamwrap(Stream *S, st
        if ((s = open_wstream(*filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                throw(IO, "streams.open", "could not open file '%s': %s",
                                *filename, strerror(errnr));
        } else {
@@ -59,7 +59,7 @@ str mnstr_open_rastreamwrap(Stream *S, s
        if ((s = open_rastream(*filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                throw(IO, "streams.open", "could not open file '%s': %s",
                                *filename, strerror(errnr));
        } else {
@@ -76,7 +76,7 @@ str mnstr_open_wastreamwrap(Stream *S, s
        if ((s = open_wastream(*filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                throw(IO, "streams.open", "could not open file '%s': %s",
                                *filename, strerror(errnr));
        } else {
diff --git a/monetdb5/modules/atoms/url.c b/monetdb5/modules/atoms/url.c
--- a/monetdb5/modules/atoms/url.c
+++ b/monetdb5/modules/atoms/url.c
@@ -406,7 +406,7 @@ URLgetContent(str *retval, url *Str1)
        if (mnstr_errnr(f) != 0) {
                str err = createException(MAL, "url.getContent",
                                "opening stream failed: %s", mnstr_error(f));
-               mnstr_destroy(f);
+               close_stream(f);
                *retval = NULL;
                return err;
        }
@@ -422,14 +422,14 @@ URLgetContent(str *retval, url *Str1)
                if (retbuf == NULL) {
                        if (oldbuf != NULL)
                                GDKfree(oldbuf);
-                       mnstr_destroy(f);
+                       close_stream(f);
                        throw(MAL, "url.getContent", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                }
                oldbuf = NULL;
                (void)memcpy(retbuf + rlen, buf, len);
                rlen += len;
        }
-       mnstr_destroy(f);
+       close_stream(f);
        if (len < 0) {
                GDKfree(retbuf);
                throw(MAL, "url.getContent", "read error");
diff --git a/monetdb5/modules/mal/mal_io.c b/monetdb5/modules/mal/mal_io.c
--- a/monetdb5/modules/mal/mal_io.c
+++ b/monetdb5/modules/mal/mal_io.c
@@ -623,8 +623,7 @@ IOexport(void *ret, bat *bid, str *fnme)
                throw(MAL, "io.export", RUNTIME_FILE_NOT_FOUND ":%s", *fnme);
        }
     BATprintcolumns(s, 1, &b);
-       mnstr_close(s);
-       mnstr_destroy(s);
+       close_stream(s);
        BBPunfix(b->batCacheid);
        return MAL_SUCCEED;
 }
diff --git a/monetdb5/modules/mal/tokenizer.c b/monetdb5/modules/mal/tokenizer.c
--- a/monetdb5/modules/mal/tokenizer.c
+++ b/monetdb5/modules/mal/tokenizer.c
@@ -444,8 +444,7 @@ TKNZRdepositFile(void *r, str *fnme)
                        msg = TKNZRappend(&pos, &s);
                        if (msg ) {
                                bstream_destroy(bs);
-                               mnstr_close(fs);
-                               mnstr_destroy(fs);
+                               close_stream(fs);
                                return msg;
                        }
                        *t = '\n';
@@ -455,8 +454,7 @@ TKNZRdepositFile(void *r, str *fnme)
        }
 
        bstream_destroy(bs);
-       mnstr_close(fs);
-       mnstr_destroy(fs);
+       close_stream(fs);
        return MAL_SUCCEED;
 }
 
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -2170,7 +2170,7 @@ mvc_export_table_wrap( Client cntxt, Mal
        else if ( (s = open_wastream(filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                msg=  createException(IO, "streams.open", SQLSTATE(42000) 
"could not open file '%s': %s",
                                      filename?filename:"stdout", 
strerror(errnr));
                goto wrapup_result_set1;
@@ -2376,7 +2376,7 @@ mvc_export_row_wrap( Client cntxt, MalBl
        else if ( (s = open_wastream(filename)) == NULL || mnstr_errnr(s)) {
                int errnr = mnstr_errnr(s);
                if (s)
-                       mnstr_destroy(s);
+                       close_stream(s);
                msg=  createException(IO, "streams.open", SQLSTATE(42000) 
"could not open file '%s': %s",
                                      filename?filename:"stdout", 
strerror(errnr));
                goto wrapup_result_set;
@@ -2690,7 +2690,7 @@ mvc_import_table_wrap(Client cntxt, MalB
                if (!ss || mnstr_errnr(ss)) {
                        int errnr = mnstr_errnr(ss);
                        if (ss)
-                               mnstr_destroy(ss);
+                               close_stream(ss);
                        GDKfree(tsep);
                        GDKfree(rsep);
                        GDKfree(ssep);
@@ -2712,7 +2712,7 @@ mvc_import_table_wrap(Client cntxt, MalB
                        }
                        widths = malloc(sizeof(size_t) * ncol);
                        if (!widths) {
-                               mnstr_destroy(ss);
+                               close_stream(ss);
                                GDKfree(tsep);
                                GDKfree(rsep);
                                GDKfree(ssep);
@@ -2732,7 +2732,7 @@ mvc_import_table_wrap(Client cntxt, MalB
                        if (!ssep) {
                                ssep = GDKmalloc(2);
                                if(ssep == NULL) {
-                                       mnstr_destroy(ss);
+                                       close_stream(ss);
                                        GDKfree(tsep);
                                        GDKfree(rsep);
                                        GDKfree(ns);
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -265,7 +265,7 @@ cleanup:
        if(b)
                buffer_destroy(b);
        if(s)
-               mnstr_destroy(s);
+               close_stream(s);
        return res;
 }
 
@@ -1253,8 +1253,7 @@ rel_print(mvc *sql, sql_rel *rel, int de
        /* output the data */
        mnstr_printf(fd, "%s\n", b->buf + 1 /* omit starting \n */);
 
-       mnstr_close(s);
-       mnstr_destroy(s);
+       close_stream(s);
        buffer_destroy(b);
 }
 
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -484,7 +484,7 @@ SQLinit(Client c)
                        throw(MAL, "createdb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
                }
                if ((createdb_bstream = bstream_create(createdb_stream, 
createdb_len)) == NULL) {
-                       mnstr_destroy(createdb_stream);
+                       close_stream(createdb_stream);
                        GDKfree(createdb_buf);
                        throw(MAL, "createdb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
                }
@@ -531,13 +531,13 @@ SQLinit(Client c)
                                        size_t sz;
                                        sz = getFileSize(fd);
                                        if (sz > (size_t) 1 << 29) {
-                                               mnstr_destroy(fd);
+                                               close_stream(fd);
                                                newmsg = createException(MAL, 
"createdb", SQLSTATE(42000) "File %s too large to process", filename);
                                        } else {
                                                bstream *bfd = NULL;
 
                                                if((bfd = bstream_create(fd, sz 
== 0 ? (size_t) (128 * BLOCK) : sz)) == NULL) {
-                                                       mnstr_destroy(fd);
+                                                       close_stream(fd);
                                                        newmsg = 
createException(MAL, "createdb", SQLSTATE(HY001) MAL_MALLOC_FAIL);
                                                } else {
                                                        if (bstream_next(bfd) 
>= 0)
@@ -789,16 +789,16 @@ SQLinclude(Client cntxt, MalBlkPtr mb, M
                fullname = *name;
        fd = open_rastream(fullname);
        if (mnstr_errnr(fd) == MNSTR_OPEN_ERROR) {
-               mnstr_destroy(fd);
+               close_stream(fd);
                throw(MAL, "sql.include", SQLSTATE(42000) "could not open file: 
%s\n", *name);
        }
        sz = getFileSize(fd);
        if (sz > (size_t) 1 << 29) {
-               mnstr_destroy(fd);
+               close_stream(fd);
                throw(MAL, "sql.include", SQLSTATE(42000) "file %s too large to 
process", fullname);
        }
        if((bfd = bstream_create(fd, sz == 0 ? (size_t) (128 * BLOCK) : sz)) == 
NULL) {
-               mnstr_destroy(fd);
+               close_stream(fd);
                throw(MAL, "sql.include", SQLSTATE(HY001) MAL_MALLOC_FAIL);
        }
        if (bstream_next(bfd) < 0) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to