mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-09 14:13:43 +00:00
svg_loader SvgPath: Added corner case handling for flags of Arc
Moved the if statement to check if it is a float. This patch is that reverts and fixes the reverted patch 55a5b9.
This commit is contained in:
parent
1b94ff63ef
commit
113ca8b845
1 changed files with 7 additions and 5 deletions
|
@ -58,15 +58,17 @@ static bool _parseNumber(char** content, float* number)
|
|||
static bool _parseFlag(char** content, int* number)
|
||||
{
|
||||
char* end = NULL;
|
||||
*number = strtol(*content, &end, 10);
|
||||
//If the start of string is not number or a number was a float
|
||||
if ((*content) == end || *end == '.') return false;
|
||||
//If a flag has a different value than 0 or 1
|
||||
if (*number != 0 && *number != 1) return false;
|
||||
if (*(*content) != '0' && *(*content) != '1') return false;
|
||||
*number = *(*content) - '0';
|
||||
*content += 1;
|
||||
end = *content;
|
||||
if (end && *end == '.') return false;
|
||||
*content = _skipComma(end);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void _pathAppendArcTo(Array<PathCommand>* cmds, Array<Point>* pts, Point* cur, Point* curCtl, float x, float y, float rx, float ry, float angle, bool largeArc, bool sweep)
|
||||
{
|
||||
float cxp, cyp, cx, cy;
|
||||
|
|
Loading…
Add table
Reference in a new issue