jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=67e400a3c91b3a0e59cac083a3023c75242ff7ef

commit 67e400a3c91b3a0e59cac083a3023c75242ff7ef
Author: Subhransu Mohanty <[email protected]>
Date:   Thu Jun 16 15:26:28 2016 +0900

    svg_loader: Fixed color attribute parser
    
    Reviewers: cedric, jpeg
    
    Reviewed By: jpeg
    
    Subscribers: cedric, jpeg
    
    Differential Revision: https://phab.enlightenment.org/D4049
---
 src/bin/edje/edje_svg_loader.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/bin/edje/edje_svg_loader.c b/src/bin/edje/edje_svg_loader.c
index 7ee5404..9f76db2 100644
--- a/src/bin/edje/edje_svg_loader.c
+++ b/src/bin/edje/edje_svg_loader.c
@@ -260,14 +260,15 @@ _to_color(const char *str, int *r, int *g, int *b, char** 
ref)
 
    if (len == 4 && str[0] == '#')
      {
+        // case for "#456" should be interprete as "#445566"
         if (isxdigit(str[1]) &&
             isxdigit(str[2]) &&
             isxdigit(str[3]))
           {
-             char tmp[2] = { '\0', '\0' };
-             tmp[0] = str[1]; *r = strtol(tmp, NULL, 16);
-             tmp[0] = str[2]; *g = strtol(tmp, NULL, 16);
-             tmp[0] = str[3]; *b = strtol(tmp, NULL, 16);
+             char tmp[3] = { '\0', '\0', '\0' };
+             tmp[0] = str[1]; tmp[1] = str[1]; *r = strtol(tmp, NULL, 16);
+             tmp[0] = str[2]; tmp[1] = str[2]; *g = strtol(tmp, NULL, 16);
+             tmp[0] = str[3]; tmp[1] = str[3]; *b = strtol(tmp, NULL, 16);
           }
      }
    else if (len == 7 && str[0] == '#')

-- 


Reply via email to