From: Jee-Yong Um Date: Wed, 20 Apr 2016 03:09:24 +0000 (+0900) Subject: efl/interface: update locale before parsing svg path X-Git-Tag: accepted/tizen/common/20160421.161510~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F26%2F66626%2F2;p=platform%2Fupstream%2Fefl.git efl/interface: update locale before parsing svg path Change-Id: I4fb8c8ad78d8122c8a549c15cd335709cd5fd7ed Signed-Off-By: Jee-Yong Um --- diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c index 741e819..184f39e 100644 --- a/src/lib/efl/interfaces/efl_gfx_shape.c +++ b/src/lib/efl/interfaces/efl_gfx_shape.c @@ -5,6 +5,9 @@ #include #include #include +// TIZEN_ONLY(20160420): efl/interface: update locale before parsing svg path +#include +// #include @@ -1548,9 +1551,14 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, { double current_x = 0, current_y = 0; char *content = (char*) svg_path_data; - + char *cur_locale; if (!content) return ; +// TIZEN_ONLY(20160420): efl/interface: update locale before parsing svg path + cur_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC, "POSIX"); +// + while (content[0] != '\0') { while (isspace(content[0])) content++; @@ -1564,7 +1572,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_move_to, EINA_FALSE)) - return ; + goto error; break; case 'm': if (!_efl_gfx_path_parse_pair_to(&content[1], @@ -1573,7 +1581,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_move_to, EINA_TRUE)) - return ; + goto error; break; case 'z': case 'Z': @@ -1587,7 +1595,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_line_to, EINA_FALSE)) - return ; + goto error; break; case 'l': if (!_efl_gfx_path_parse_pair_to(&content[1], @@ -1596,7 +1604,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_line_to, EINA_TRUE)) - return ; + goto error; break; case 'H': if (!_efl_gfx_path_parse_double_to(&content[1], @@ -1605,7 +1613,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, current_x, current_y, _efl_gfx_path_append_horizontal_to, EINA_FALSE)) - return ; + goto error; break; case 'h': if (!_efl_gfx_path_parse_double_to(&content[1], @@ -1614,7 +1622,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, current_x, current_y, _efl_gfx_path_append_horizontal_to, EINA_TRUE)) - return ; + goto error; break; case 'V': if (!_efl_gfx_path_parse_double_to(&content[1], @@ -1623,7 +1631,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_y, current_x, current_y, _efl_gfx_path_append_vertical_to, EINA_FALSE)) - return ; + goto error; break; case 'v': if (!_efl_gfx_path_parse_double_to(&content[1], @@ -1632,7 +1640,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_y, current_x, current_y, _efl_gfx_path_append_vertical_to, EINA_TRUE)) - return ; + goto error; break; case 'C': if (!_efl_gfx_path_parse_six_to(&content[1], @@ -1641,7 +1649,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_cubic_to, EINA_FALSE)) - return ; + goto error; break; case 'c': if (!_efl_gfx_path_parse_six_to(&content[1], @@ -1650,7 +1658,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_cubic_to, EINA_TRUE)) - return ; + goto error; break; case 'S': if (!_efl_gfx_path_parse_quad_to(&content[1], @@ -1659,7 +1667,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_scubic_to, EINA_FALSE)) - return ; + goto error; break; case 's': if (!_efl_gfx_path_parse_quad_to(&content[1], @@ -1668,7 +1676,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_scubic_to, EINA_TRUE)) - return ; + goto error; break; case 'Q': if (!_efl_gfx_path_parse_quad_to(&content[1], @@ -1677,7 +1685,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_quadratic_to, EINA_FALSE)) - return ; + goto error; break; case 'q': if (!_efl_gfx_path_parse_quad_to(&content[1], @@ -1686,7 +1694,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_quadratic_to, EINA_TRUE)) - return ; + goto error; break; case 'T': if (!_efl_gfx_path_parse_pair_to(&content[1], @@ -1695,7 +1703,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_squadratic_to, EINA_FALSE)) - return ; + goto error; break; case 't': if (!_efl_gfx_path_parse_pair_to(&content[1], @@ -1704,7 +1712,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_squadratic_to, EINA_TRUE)) - return ; + goto error; break; case 'A': if (!_efl_gfx_path_parse_arc_to(&content[1], @@ -1713,7 +1721,7 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_arc_to, EINA_FALSE)) - return ; + goto error; break; case 'a': if (!_efl_gfx_path_parse_arc_to(&content[1], @@ -1722,12 +1730,16 @@ _efl_gfx_shape_append_svg_path(Eo *obj, Efl_Gfx_Shape_Data *pd, ¤t_x, ¤t_y, _efl_gfx_shape_append_arc_to, EINA_TRUE)) - return ; + goto error; break; default: - return; + goto error; } } +// TIZEN_ONLY(20160420): efl/interface: update locale before parsing svg path +error: + setlocale(LC_NUMERIC, cur_locale); +// } #include "interfaces/efl_gfx_shape.eo.c"