From dccceaf112ac67460532dcced9007462bea3a0de Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 4 Feb 2011 01:12:36 +0000 Subject: Fix parsing double with signs in their exponents (e.g. 1.234e+56). git-svn-id: http://svn.drobilla.net/serd/trunk@95 490d8e77-9747-427b-9fa3-0b8f29cee8a0 --- src/reader.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/reader.c b/src/reader.c index 79b61385..a342a4d2 100644 --- a/src/reader.c +++ b/src/reader.c @@ -869,6 +869,11 @@ read_number(SerdReader reader, Node* dest) if (c == 'e' || c == 'E') { // double push_byte(reader, str, eat_byte(reader, c)); + switch ((c = peek_byte(reader))) { + case '+': case '-': + push_byte(reader, str, eat_byte(reader, c)); + default: break; + } read_0_9(reader, str, true); datatype = push_string(reader, XSD_DOUBLE, strlen(XSD_DOUBLE) + 1); } else if (has_decimal) { -- cgit v1.2.1