src/lib/CDRParser.cpp | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-)
New commits: commit 0e746ed7ac28c2c1f4d480f52b6b7792ef1ce867 Author: Fridrich Štrba <fridrich.st...@bluewin.ch> AuthorDate: Wed Feb 5 10:22:08 2020 +0100 Commit: Fridrich Štrba <fridrich.st...@bluewin.ch> CommitDate: Wed Feb 5 10:22:08 2020 +0100 Simplify the parseColourString function a bit Change-Id: I000c8ad4dfdaa7cc250687d542284585e2a903ea diff --git a/src/lib/CDRParser.cpp b/src/lib/CDRParser.cpp index 1b2b4ab..51434d1 100644 --- a/src/lib/CDRParser.cpp +++ b/src/lib/CDRParser.cpp @@ -105,7 +105,7 @@ static void processNameForEncoding(librevenge::RVNGString &name, unsigned short static int parseColourString(const char *colourString, libcdr::CDRColor &colour, double &opacity) { using namespace boost::spirit::qi; - bool bRes = false; + bool bRes = true; boost::optional<unsigned> colourModel; std::vector<unsigned> val; @@ -140,34 +140,21 @@ static int parseColourString(const char *colourString, libcdr::CDRColor &colour, if (colourModel) colour.m_colorModel = get(colourModel); - switch (colour.m_colorModel) + if (val.size() >= 5) { - case 5: - if (val.size() >= 4) - { - colour.m_colorValue = val[0] | (val[1] << 8) | (val[2] << 16); - opacity = (double)val[3] / 100.0; - break; - } - else - { - CDR_DEBUG_MSG(("parseColourString error: not enough values read: %lu\n", val.size())); - return 0; - } - default: - if (val.size() >= 5) - { - colour.m_colorValue = val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24); - opacity = (double)val[4] / 100.0; - break; - } - else - { - CDR_DEBUG_MSG(("parseColourString error: not enough values read: %lu\n", val.size())); - return 0; - } + colour.m_colorValue = val[0] | (val[1] << 8) | (val[2] << 16) | (val[3] << 24); + opacity = (double)val[4] / 100.0; + return 1; } - return 1; + + if (val.size() >= 4) + { + colour.m_colorValue = val[0] | (val[1] << 8) | (val[2] << 16); + opacity = (double)val[3] / 100.0; + return 1; + } + + return 0; } void normalizeAngle(double &angle) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits