common: Refactoring incorrectly declared loop variable

Loop variables should be declared in the minimal possible scope
thorvg prefers to declare when using local variables.
This commit is contained in:
JunsuChoi 2021-02-19 15:58:00 +09:00 committed by Hermet Park
parent 08c37978a9
commit c819754056
2 changed files with 20 additions and 35 deletions

View file

@ -445,7 +445,7 @@ static constexpr struct
static void _toColor(const char* str, uint8_t* r, uint8_t* g, uint8_t* b, string** ref) 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; char *red, *green, *blue;
unsigned char tr, tg, tb; 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)); *ref = _idFromUrl((const char*)(str + 3));
} else { } else {
//Handle named color //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)) { if (!strcasecmp(colors[i].name, str)) {
*r = (((uint8_t*)(&(colors[i].value)))[2]); *r = (((uint8_t*)(&(colors[i].value)))[2]);
*g = (((uint8_t*)(&(colors[i].value)))[1]); *g = (((uint8_t*)(&(colors[i].value)))[1]);
@ -590,7 +590,6 @@ static void _matrixCompose(const Matrix* m1,
*/ */
static Matrix* _parseTransformationMatrix(const char* value) static Matrix* _parseTransformationMatrix(const char* value)
{ {
unsigned int i;
float points[8]; float points[8];
int ptCount = 0; int ptCount = 0;
float sx, sy; float sx, sy;
@ -606,7 +605,7 @@ static Matrix* _parseTransformationMatrix(const char* value)
++str; ++str;
continue; 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)) { if (!strncmp(matrixTags[i].tag, str, matrixTags[i].sz - 1)) {
state = matrixTags[i].state; state = matrixTags[i].state;
str += (matrixTags[i].sz - 1); str += (matrixTags[i].sz - 1);
@ -702,12 +701,11 @@ static constexpr struct
static float _parseLength(const char* str, SvgLengthType* type) static float _parseLength(const char* str, SvgLengthType* type)
{ {
unsigned int i;
float value; float value;
int sz = strlen(str); int sz = strlen(str);
*type = SvgLengthType::Px; *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; if (lengthTags[i].sz - 1 == sz && !strncmp(lengthTags[i].tag, str, sz)) *type = lengthTags[i].type;
} }
value = strtof(str, nullptr); value = strtof(str, nullptr);
@ -913,7 +911,6 @@ static bool _parseStyleAttr(void* data, const char* key, const char* value)
{ {
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node; SvgNode* node = loader->svgParse->node;
unsigned int i;
int sz; int sz;
if (!key || !value) return false; if (!key || !value) return false;
@ -923,7 +920,7 @@ static bool _parseStyleAttr(void* data, const char* key, const char* value)
value = _skipSpace(value, nullptr); value = _skipSpace(value, nullptr);
sz = strlen(key); 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)) { if (styleTags[i].sz - 1 == sz && !strncmp(styleTags[i].tag, key, sz)) {
styleTags[i].tagHandler(loader, node, value); styleTags[i].tagHandler(loader, node, value);
return true; return true;
@ -1137,12 +1134,11 @@ static bool _attrParseCircleNode(void* data, const char* key, const char* value)
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node; SvgNode* node = loader->svgParse->node;
SvgCircleNode* circle = &(node->node.circle); SvgCircleNode* circle = &(node->node.circle);
unsigned int i;
unsigned char* array; unsigned char* array;
int sz = strlen(key); int sz = strlen(key);
array = (unsigned char*)circle; 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)) { if (circleTags[i].sz - 1 == sz && !strncmp(circleTags[i].tag, key, sz)) {
*((float*)(array + circleTags[i].offset)) = _toFloat(loader->svgParse, value, circleTags[i].type); *((float*)(array + circleTags[i].offset)) = _toFloat(loader->svgParse, value, circleTags[i].type);
return true; return true;
@ -1195,12 +1191,11 @@ static bool _attrParseEllipseNode(void* data, const char* key, const char* value
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node; SvgNode* node = loader->svgParse->node;
SvgEllipseNode* ellipse = &(node->node.ellipse); SvgEllipseNode* ellipse = &(node->node.ellipse);
unsigned int i;
unsigned char* array; unsigned char* array;
int sz = strlen(key); int sz = strlen(key);
array = (unsigned char*)ellipse; 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)) { if (ellipseTags[i].sz - 1 == sz && !strncmp(ellipseTags[i].tag, key, sz)) {
*((float*)(array + ellipseTags[i].offset)) = _toFloat(loader->svgParse, value, ellipseTags[i].type); *((float*)(array + ellipseTags[i].offset)) = _toFloat(loader->svgParse, value, ellipseTags[i].type);
return true; return true;
@ -1340,13 +1335,12 @@ static bool _attrParseRectNode(void* data, const char* key, const char* value)
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node; SvgNode* node = loader->svgParse->node;
SvgRectNode* rect = &(node->node.rect); SvgRectNode* rect = &(node->node.rect);
unsigned int i;
unsigned char* array; unsigned char* array;
bool ret = true; bool ret = true;
int sz = strlen(key); int sz = strlen(key);
array = (unsigned char*)rect; 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)) { if (rectTags[i].sz - 1 == sz && !strncmp(rectTags[i].tag, key, sz)) {
*((float*)(array + rectTags[i].offset)) = _toFloat(loader->svgParse, value, rectTags[i].type); *((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; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node; SvgNode* node = loader->svgParse->node;
SvgLineNode* line = &(node->node.line); SvgLineNode* line = &(node->node.line);
unsigned int i;
unsigned char* array; unsigned char* array;
int sz = strlen(key); int sz = strlen(key);
array = (unsigned char*)line; 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)) { if (lineTags[i].sz - 1 == sz && !strncmp(lineTags[i].tag, key, sz)) {
*((float*)(array + lineTags[i].offset)) = _toFloat(loader->svgParse, value, lineTags[i].type); *((float*)(array + lineTags[i].offset)) = _toFloat(loader->svgParse, value, lineTags[i].type);
return true; return true;
@ -1817,10 +1810,9 @@ static bool _attrParseRadialGradientNode(void* data, const char* key, const char
SvgLoaderData* loader = (SvgLoaderData*)data; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgStyleGradient* grad = loader->svgParse->styleGrad; SvgStyleGradient* grad = loader->svgParse->styleGrad;
SvgRadialGradient* radial = grad->radial; SvgRadialGradient* radial = grad->radial;
unsigned int i;
int sz = strlen(key); 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)) { if (radialTags[i].sz - 1 == sz && !strncmp(radialTags[i].tag, key, sz)) {
radialTags[i].tagHandler(loader, radial, value); radialTags[i].tagHandler(loader, radial, value);
return true; 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) static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char* buf, unsigned bufLength)
{ {
unsigned int i = 0;
SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient)); SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient));
if (!grad) return nullptr; if (!grad) return nullptr;
loader->svgParse->styleGrad = grad; loader->svgParse->styleGrad = grad;
@ -1871,7 +1862,7 @@ static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char
simpleXmlParseAttributes(buf, bufLength, simpleXmlParseAttributes(buf, bufLength,
_attrParseRadialGradientNode, loader); _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); 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; SvgLoaderData* loader = (SvgLoaderData*)data;
SvgStyleGradient* grad = loader->svgParse->styleGrad; SvgStyleGradient* grad = loader->svgParse->styleGrad;
SvgLinearGradient* linear = grad->linear; SvgLinearGradient* linear = grad->linear;
unsigned int i;
int sz = strlen(key); 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)) { if (linear_tags[i].sz - 1 == sz && !strncmp(linear_tags[i].tag, key, sz)) {
linear_tags[i].tagHandler(loader, linear, value); linear_tags[i].tagHandler(loader, linear, value);
return true; return true;
@ -2012,7 +2002,6 @@ static SvgStyleGradient* _createLinearGradient(SvgLoaderData* loader, const char
SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient)); SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient));
if (!grad) return nullptr; if (!grad) return nullptr;
loader->svgParse->styleGrad = grad; loader->svgParse->styleGrad = grad;
unsigned int i;
grad->type = SvgGradientType::Linear; grad->type = SvgGradientType::Linear;
grad->userSpace = false; grad->userSpace = false;
@ -2027,7 +2016,7 @@ static SvgStyleGradient* _createLinearGradient(SvgLoaderData* loader, const char
grad->linear->x2 = 1; grad->linear->x2 = 1;
simpleXmlParseAttributes(buf, bufLength, _attrParseLinearGradientNode, loader); 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); linear_tags[i].tagRecalc(loader, grad->linear, grad->userSpace);
} }
@ -2062,10 +2051,9 @@ static constexpr struct
static GradientFactoryMethod _findGradientFactory(const char* name) static GradientFactoryMethod _findGradientFactory(const char* name)
{ {
unsigned int i;
int sz = strlen(name); 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)) { if (gradientTags[i].sz - 1 == sz && !strncmp(gradientTags[i].tag, name, sz)) {
return gradientTags[i].tagHandler; return gradientTags[i].tagHandler;
} }
@ -2089,11 +2077,9 @@ static constexpr struct
static void _svgLoaderParerXmlClose(SvgLoaderData* loader, const char* content) static void _svgLoaderParerXmlClose(SvgLoaderData* loader, const char* content)
{ {
unsigned int i;
content = _skipSpace(content, nullptr); 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)) { if (!strncmp(content, popArray[i].tag, popArray[i].sz - 1)) {
loader->stack.pop(); loader->stack.pop();
break; break;

View file

@ -77,7 +77,7 @@ void _pathAppendArcTo(Array<PathCommand>* cmds, Array<Point>* pts, Point* cur, P
float cosPhiRx, cosPhiRy; float cosPhiRx, cosPhiRy;
float sinPhiRx, sinPhiRy; float sinPhiRx, sinPhiRy;
float cosTheta1, sinTheta1; float cosTheta1, sinTheta1;
int segments, i; int segments;
//Some helpful stuff is available here: //Some helpful stuff is available here:
//http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes //http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes
@ -198,7 +198,7 @@ void _pathAppendArcTo(Array<PathCommand>* cmds, Array<Point>* pts, Point* cur, P
cosTheta1 = cos(theta1); cosTheta1 = cos(theta1);
sinTheta1 = sin(theta1); sinTheta1 = sin(theta1);
for (i = 0; i < segments; ++i) { for (int i = 0; i < segments; ++i) {
//End angle (for this segment) = current + delta //End angle (for this segment) = current + delta
float c1x, c1y, ex, ey, c2x, c2y; float c1x, c1y, ex, ey, c2x, c2y;
float theta2 = theta1 + delta; float theta2 = theta1 + delta;
@ -285,7 +285,6 @@ static int _numberCount(char cmd)
static void _processCommand(Array<PathCommand>* cmds, Array<Point>* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic) static void _processCommand(Array<PathCommand>* cmds, Array<Point>* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic)
{ {
int i;
switch (cmd) { switch (cmd) {
case 'm': case 'm':
case 'l': case 'l':
@ -293,7 +292,7 @@ static void _processCommand(Array<PathCommand>* cmds, Array<Point>* pts, char cm
case 's': case 's':
case 'q': case 'q':
case 't': { 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] = arr[i] + cur->x;
arr[i + 1] = arr[i + 1] + cur->y; arr[i + 1] = arr[i + 1] + cur->y;
} }
@ -455,7 +454,7 @@ static void _processCommand(Array<PathCommand>* cmds, Array<Point>* pts, char cm
static char* _nextCommand(char* path, char* cmd, float* arr, int* count) static char* _nextCommand(char* path, char* cmd, float* arr, int* count)
{ {
int i = 0, large, sweep; int large, sweep;
path = _skipComma(path); path = _skipComma(path);
if (isalpha(*path)) { if (isalpha(*path)) {
@ -488,7 +487,7 @@ static char* _nextCommand(char* path, char* cmd, float* arr, int* count)
*count = 0; *count = 0;
return NULL; return NULL;
} }
for (i = 0; i < *count; i++) { for (int i = 0; i < *count; i++) {
if (!_parseNumber(&path, &arr[i])) { if (!_parseNumber(&path, &arr[i])) {
*count = 0; *count = 0;
return NULL; return NULL;