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