From c81975405658a58a2f174c3b361fc634e8c4fd84 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Fri, 19 Feb 2021 15:58:00 +0900 Subject: [PATCH] common: Refactoring incorrectly declared loop variable Loop variables should be declared in the minimal possible scope thorvg prefers to declare when using local variables. --- src/loaders/svg/tvgSvgLoader.cpp | 44 +++++++++++--------------------- src/loaders/svg/tvgSvgPath.cpp | 11 ++++---- 2 files changed, 20 insertions(+), 35 deletions(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 4ce916fc..48751c00 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -445,7 +445,7 @@ static constexpr struct static void _toColor(const char* str, uint8_t* r, uint8_t* g, uint8_t* b, string** ref) { - unsigned int i, len = strlen(str); + unsigned int len = strlen(str); char *red, *green, *blue; unsigned char tr, tg, tb; @@ -493,7 +493,7 @@ static void _toColor(const char* str, uint8_t* r, uint8_t* g, uint8_t* b, string *ref = _idFromUrl((const char*)(str + 3)); } else { //Handle named color - for (i = 0; i < (sizeof(colors) / sizeof(colors[0])); i++) { + for (unsigned int i = 0; i < (sizeof(colors) / sizeof(colors[0])); i++) { if (!strcasecmp(colors[i].name, str)) { *r = (((uint8_t*)(&(colors[i].value)))[2]); *g = (((uint8_t*)(&(colors[i].value)))[1]); @@ -590,7 +590,6 @@ static void _matrixCompose(const Matrix* m1, */ static Matrix* _parseTransformationMatrix(const char* value) { - unsigned int i; float points[8]; int ptCount = 0; float sx, sy; @@ -606,7 +605,7 @@ static Matrix* _parseTransformationMatrix(const char* value) ++str; continue; } - for (i = 0; i < sizeof(matrixTags) / sizeof(matrixTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(matrixTags) / sizeof(matrixTags[0]); i++) { if (!strncmp(matrixTags[i].tag, str, matrixTags[i].sz - 1)) { state = matrixTags[i].state; str += (matrixTags[i].sz - 1); @@ -702,12 +701,11 @@ static constexpr struct static float _parseLength(const char* str, SvgLengthType* type) { - unsigned int i; float value; int sz = strlen(str); *type = SvgLengthType::Px; - for (i = 0; i < sizeof(lengthTags) / sizeof(lengthTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(lengthTags) / sizeof(lengthTags[0]); i++) { if (lengthTags[i].sz - 1 == sz && !strncmp(lengthTags[i].tag, str, sz)) *type = lengthTags[i].type; } value = strtof(str, nullptr); @@ -913,7 +911,6 @@ static bool _parseStyleAttr(void* data, const char* key, const char* value) { SvgLoaderData* loader = (SvgLoaderData*)data; SvgNode* node = loader->svgParse->node; - unsigned int i; int sz; if (!key || !value) return false; @@ -923,7 +920,7 @@ static bool _parseStyleAttr(void* data, const char* key, const char* value) value = _skipSpace(value, nullptr); sz = strlen(key); - for (i = 0; i < sizeof(styleTags) / sizeof(styleTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(styleTags) / sizeof(styleTags[0]); i++) { if (styleTags[i].sz - 1 == sz && !strncmp(styleTags[i].tag, key, sz)) { styleTags[i].tagHandler(loader, node, value); return true; @@ -1137,12 +1134,11 @@ static bool _attrParseCircleNode(void* data, const char* key, const char* value) SvgLoaderData* loader = (SvgLoaderData*)data; SvgNode* node = loader->svgParse->node; SvgCircleNode* circle = &(node->node.circle); - unsigned int i; unsigned char* array; int sz = strlen(key); array = (unsigned char*)circle; - for (i = 0; i < sizeof(circleTags) / sizeof(circleTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(circleTags) / sizeof(circleTags[0]); i++) { if (circleTags[i].sz - 1 == sz && !strncmp(circleTags[i].tag, key, sz)) { *((float*)(array + circleTags[i].offset)) = _toFloat(loader->svgParse, value, circleTags[i].type); return true; @@ -1195,12 +1191,11 @@ static bool _attrParseEllipseNode(void* data, const char* key, const char* value SvgLoaderData* loader = (SvgLoaderData*)data; SvgNode* node = loader->svgParse->node; SvgEllipseNode* ellipse = &(node->node.ellipse); - unsigned int i; unsigned char* array; int sz = strlen(key); array = (unsigned char*)ellipse; - for (i = 0; i < sizeof(ellipseTags) / sizeof(ellipseTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(ellipseTags) / sizeof(ellipseTags[0]); i++) { if (ellipseTags[i].sz - 1 == sz && !strncmp(ellipseTags[i].tag, key, sz)) { *((float*)(array + ellipseTags[i].offset)) = _toFloat(loader->svgParse, value, ellipseTags[i].type); return true; @@ -1340,13 +1335,12 @@ static bool _attrParseRectNode(void* data, const char* key, const char* value) SvgLoaderData* loader = (SvgLoaderData*)data; SvgNode* node = loader->svgParse->node; SvgRectNode* rect = &(node->node.rect); - unsigned int i; unsigned char* array; bool ret = true; int sz = strlen(key); array = (unsigned char*)rect; - for (i = 0; i < sizeof(rectTags) / sizeof(rectTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(rectTags) / sizeof(rectTags[0]); i++) { if (rectTags[i].sz - 1 == sz && !strncmp(rectTags[i].tag, key, sz)) { *((float*)(array + rectTags[i].offset)) = _toFloat(loader->svgParse, value, rectTags[i].type); @@ -1409,12 +1403,11 @@ static bool _attrParseLineNode(void* data, const char* key, const char* value) SvgLoaderData* loader = (SvgLoaderData*)data; SvgNode* node = loader->svgParse->node; SvgLineNode* line = &(node->node.line); - unsigned int i; unsigned char* array; int sz = strlen(key); array = (unsigned char*)line; - for (i = 0; i < sizeof(lineTags) / sizeof(lineTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(lineTags) / sizeof(lineTags[0]); i++) { if (lineTags[i].sz - 1 == sz && !strncmp(lineTags[i].tag, key, sz)) { *((float*)(array + lineTags[i].offset)) = _toFloat(loader->svgParse, value, lineTags[i].type); return true; @@ -1817,10 +1810,9 @@ static bool _attrParseRadialGradientNode(void* data, const char* key, const char SvgLoaderData* loader = (SvgLoaderData*)data; SvgStyleGradient* grad = loader->svgParse->styleGrad; SvgRadialGradient* radial = grad->radial; - unsigned int i; int sz = strlen(key); - for (i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) { if (radialTags[i].sz - 1 == sz && !strncmp(radialTags[i].tag, key, sz)) { radialTags[i].tagHandler(loader, radial, value); return true; @@ -1845,7 +1837,6 @@ static bool _attrParseRadialGradientNode(void* data, const char* key, const char static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char* buf, unsigned bufLength) { - unsigned int i = 0; SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient)); if (!grad) return nullptr; loader->svgParse->styleGrad = grad; @@ -1871,7 +1862,7 @@ static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char simpleXmlParseAttributes(buf, bufLength, _attrParseRadialGradientNode, loader); - for (i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) { radialTags[i].tagRecalc(loader, grad->radial, grad->userSpace); } @@ -1979,10 +1970,9 @@ static bool _attrParseLinearGradientNode(void* data, const char* key, const char SvgLoaderData* loader = (SvgLoaderData*)data; SvgStyleGradient* grad = loader->svgParse->styleGrad; SvgLinearGradient* linear = grad->linear; - unsigned int i; int sz = strlen(key); - for (i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) { + for (unsigned int i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) { if (linear_tags[i].sz - 1 == sz && !strncmp(linear_tags[i].tag, key, sz)) { linear_tags[i].tagHandler(loader, linear, value); return true; @@ -2012,7 +2002,6 @@ static SvgStyleGradient* _createLinearGradient(SvgLoaderData* loader, const char SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient)); if (!grad) return nullptr; loader->svgParse->styleGrad = grad; - unsigned int i; grad->type = SvgGradientType::Linear; grad->userSpace = false; @@ -2027,7 +2016,7 @@ static SvgStyleGradient* _createLinearGradient(SvgLoaderData* loader, const char grad->linear->x2 = 1; simpleXmlParseAttributes(buf, bufLength, _attrParseLinearGradientNode, loader); - for (i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) { + for (unsigned int i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) { linear_tags[i].tagRecalc(loader, grad->linear, grad->userSpace); } @@ -2062,10 +2051,9 @@ static constexpr struct static GradientFactoryMethod _findGradientFactory(const char* name) { - unsigned int i; int sz = strlen(name); - for (i = 0; i < sizeof(gradientTags) / sizeof(gradientTags[0]); i++) { + for (unsigned int i = 0; i < sizeof(gradientTags) / sizeof(gradientTags[0]); i++) { if (gradientTags[i].sz - 1 == sz && !strncmp(gradientTags[i].tag, name, sz)) { return gradientTags[i].tagHandler; } @@ -2089,11 +2077,9 @@ static constexpr struct static void _svgLoaderParerXmlClose(SvgLoaderData* loader, const char* content) { - unsigned int i; - content = _skipSpace(content, nullptr); - for (i = 0; i < sizeof(popArray) / sizeof(popArray[0]); i++) { + for (unsigned int i = 0; i < sizeof(popArray) / sizeof(popArray[0]); i++) { if (!strncmp(content, popArray[i].tag, popArray[i].sz - 1)) { loader->stack.pop(); break; diff --git a/src/loaders/svg/tvgSvgPath.cpp b/src/loaders/svg/tvgSvgPath.cpp index 0b08777a..880cd7bd 100644 --- a/src/loaders/svg/tvgSvgPath.cpp +++ b/src/loaders/svg/tvgSvgPath.cpp @@ -77,7 +77,7 @@ void _pathAppendArcTo(Array* cmds, Array* pts, Point* cur, P float cosPhiRx, cosPhiRy; float sinPhiRx, sinPhiRy; float cosTheta1, sinTheta1; - int segments, i; + int segments; //Some helpful stuff is available here: //http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes @@ -198,7 +198,7 @@ void _pathAppendArcTo(Array* cmds, Array* pts, Point* cur, P cosTheta1 = cos(theta1); sinTheta1 = sin(theta1); - for (i = 0; i < segments; ++i) { + for (int i = 0; i < segments; ++i) { //End angle (for this segment) = current + delta float c1x, c1y, ex, ey, c2x, c2y; float theta2 = theta1 + delta; @@ -285,7 +285,6 @@ static int _numberCount(char cmd) static void _processCommand(Array* cmds, Array* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic) { - int i; switch (cmd) { case 'm': case 'l': @@ -293,7 +292,7 @@ static void _processCommand(Array* cmds, Array* pts, char cm case 's': case 'q': case 't': { - for (i = 0; i < count - 1; i += 2) { + for (int i = 0; i < count - 1; i += 2) { arr[i] = arr[i] + cur->x; arr[i + 1] = arr[i + 1] + cur->y; } @@ -455,7 +454,7 @@ static void _processCommand(Array* cmds, Array* pts, char cm static char* _nextCommand(char* path, char* cmd, float* arr, int* count) { - int i = 0, large, sweep; + int large, sweep; path = _skipComma(path); if (isalpha(*path)) { @@ -488,7 +487,7 @@ static char* _nextCommand(char* path, char* cmd, float* arr, int* count) *count = 0; return NULL; } - for (i = 0; i < *count; i++) { + for (int i = 0; i < *count; i++) { if (!_parseNumber(&path, &arr[i])) { *count = 0; return NULL;