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