From 59180ab9a66c53321b401306a16712666777cd08 Mon Sep 17 00:00:00 2001 From: Michal Maciola Date: Thu, 8 Jul 2021 10:49:21 +0200 Subject: [PATCH] svg_loader: tag introduced fix #9 Fixed Base64 and utf8 for new line and whitespace Changed tvgSvgLoaderCommon.h to single line convention --- src/loaders/svg/tvgSvgLoaderCommon.h | 5 +---- src/loaders/svg/tvgSvgUtil.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/loaders/svg/tvgSvgLoaderCommon.h b/src/loaders/svg/tvgSvgLoaderCommon.h index 165bd81..a00ea2a 100644 --- a/src/loaders/svg/tvgSvgLoaderCommon.h +++ b/src/loaders/svg/tvgSvgLoaderCommon.h @@ -190,10 +190,7 @@ struct SvgLineNode struct SvgImageNode { - float x; - float y; - float w; - float h; + float x, y, w, h; string *href; }; diff --git a/src/loaders/svg/tvgSvgUtil.cpp b/src/loaders/svg/tvgSvgUtil.cpp index c44a5c4..fbdcb52 100644 --- a/src/loaders/svg/tvgSvgUtil.cpp +++ b/src/loaders/svg/tvgSvgUtil.cpp @@ -269,6 +269,11 @@ string svgUtilURLDecode(const char *src) char a, b; while (*src) { + if (*src <= 0x20) { + ++src; + continue; + } + if (*src == '%' && ((a = src[1]) && (b = src[2])) && (isxdigit(a) && isxdigit(b))) { @@ -293,6 +298,11 @@ string svgUtilBase64Decode(const char *src) decoded.reserve(3*(1+(length >> 2))); while (*src && *(src+1)) { + if (*src <= 0x20) { + ++src; + continue; + } + auto value1 = _base64Value(src[0]); auto value2 = _base64Value(src[1]); decoded += (value1 << 2) + ((value2 & 0x30) >> 4); -- 2.7.4