diff options
author | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2021-03-23 06:32:15 +0100 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2021-03-23 06:32:15 +0100 |
commit | 878c3b55c3aef12b5b1d8ad2619644a0e062368e (patch) | |
tree | d8e17e650c9338e29c4286cd634ac14ff186d556 | |
parent | d41d8f66957b3e2667e4781bffc1856627957fee (diff) |
Fix the spirit grammar to cater for more cases
Change-Id: I8dd86e35c71e7657128ebd63a7cafe730c0daf47
-rw-r--r-- | src/lib/CDRParser.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/CDRParser.cpp b/src/lib/CDRParser.cpp index c71cae5..d141591 100644 --- a/src/lib/CDRParser.cpp +++ b/src/lib/CDRParser.cpp @@ -153,8 +153,10 @@ static int parseColourString(const char *colourString, libcdr::CDRColor &colour, >> (cpalette | omit[+iso8859_1::alnum]) >> lit(',') >> *(uint_ >> lit(',')) >> omit[(repeat(8)[iso8859_1::xdigit] >> '-' >> repeat(3)[repeat(4)[iso8859_1::xdigit] >> '-'] >> repeat(12)[iso8859_1::xdigit])] - >> -(lit(",~,") >> omit[+(iso8859_1::char_ - lit(','))] >> lit(',') >> omit[uint_] >> lit(',') - >> repeat[+(iso8859_1::char_ - lit(",~,")) >> lit(",~,")] >> omit[*iso8859_1::char_]) + >> -(lit(',') + >> -(lit("~,") >> omit[+(iso8859_1::char_ - lit(','))] >> lit(',') >> omit[uint_] >> lit(',') + >> repeat[+(iso8859_1::char_ - lit(",~,")) >> lit(",~,")]) + >> omit[*iso8859_1::char_]) ), // End grammar iso8859_1::space, |