Changeset: 39d37499f47d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39d37499f47d Modified Files: monetdb5/modules/mal/tablet.c Branch: Feb2013 Log Message:
Don't look beyond what we've read so far.
If the last character we've read so far happens to be a backslash, we
skipped over the null byte.
diffs (47 lines):
diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c
--- a/monetdb5/modules/mal/tablet.c
+++ b/monetdb5/modules/mal/tablet.c
@@ -1524,15 +1524,18 @@ SQLload_file(Client cntxt, Tablet *as, b
if (rseplen == 1)
for (; *e; e++) {
if (*e == '\\') {
- e++;
+ if (*++e == 0)
+ break;
continue;
}
if (*e == *rsep)
break;
- } else
+ }
+ else
for (; *e; e++) {
if (*e == '\\') {
- e++;
+ if (*++e == 0)
+ break;
continue;
}
if (*e == *rsep && strncmp(e,
rsep, rseplen) == 0)
@@ -1547,8 +1550,8 @@ SQLload_file(Client cntxt, Tablet *as, b
else if (*e == quote)
q = *e;
else if (*e == '\\') {
- if (e[1])
- e++;
+ if (*++e == 0)
+ break;
} else if (!q && *e == *rsep)
break;
}
@@ -1561,8 +1564,8 @@ SQLload_file(Client cntxt, Tablet *as, b
else if (*e == quote)
q = *e;
else if (*e == '\\') {
- if (e[1])
- e++;
+ if (*++e == 0)
+ break;
} else if (!q && *e == *rsep &&
strncmp(e, rsep, rseplen) == 0)
break;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list
