elm spinner - handle more digits for format string + handle invalid fmt
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 8 Jun 2017 05:34:50 +0000 (14:34 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 8 Jun 2017 05:34:50 +0000 (14:34 +0900)
handles format strings like %0.234567f even tho before it was just %2f
- single digit after . ... not that it's useful handling more...

@fix

src/lib/elementary/elm_spinner.c

index 6df1449..6bac16c 100644 (file)
@@ -430,7 +430,7 @@ _entry_value_apply(Evas_Object *obj)
 static int
 _decimal_points_get(const char *label)
 {
-   char result[2] = "";
+   char result[16] = "0";
    const char *start = strchr(label, '%');
 
    while (start)
@@ -447,7 +447,12 @@ _decimal_points_get(const char *label)
      }
 
    if (start)
-      sscanf(start, "%[^f]", result);
+     {
+        const char *p = strchr(start, 'f');
+
+        if ((p) && ((p - start) < 15))
+          sscanf(start, "%[^f]", result);
+     }
 
    return atoi(result);
 }