Changeset: a030c3e53cf5 for monetdb-java
URL: http://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=a030c3e53cf5
Modified Files:
        src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java
        src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
Branch: default
Log Message:

Skip over column delimiter, and don't accept just "-" as a valid number.


diffs (31 lines):

diff --git a/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java 
b/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java
--- a/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java
@@ -175,6 +175,7 @@ public class HeaderLineParser extends MC
                        if (chrLine[i] == ',' && chrLine[i + 1] == '\t') {
                                intValues[elem++] = tmp;
                                tmp = 0;
+                               start = i++;
                        } else {
                                tmp *= 10;
                                // note: don't use Character.isDigit() here, 
because
diff --git a/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java 
b/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
--- a/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java
@@ -104,10 +104,14 @@ public class StartOfHeaderParser {
                char chr = soh.get();
                // note: don't use Character.isDigit() here, because
                // we only want ISO-LATIN-1 digits
+               if(chr == '-') {
+                       positive = false;
+                       if (!soh.hasRemaining())
+                               throw new MCLParseException("unexpected end of 
string", soh.position() - 1);
+                       chr = soh.get();
+               }
                if (chr >= '0' && chr <= '9') {
                        tmp = (int)chr - (int)'0';
-               } else if(chr == '-') {
-                       positive = false;
                } else {
                        throw new MCLParseException("expected a digit", 
soh.position() - 1);
                }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to