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

Reply via email to