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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list