]> git.tokkee.org Git - inkscape.git/commitdiff

Code

standardize converting from number to string and back
authorbuliabyak <buliabyak@users.sourceforge.net>
Sun, 18 Feb 2007 05:47:11 +0000 (05:47 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Sun, 18 Feb 2007 05:47:11 +0000 (05:47 +0000)
src/number-opt-number.h
src/sp-filter.cpp

index ff3b17dfaef96103252f9c814e26c7dd4c5ea3f0..51966a101b937b38d45864d6ec8cc84880c1b905 100644 (file)
@@ -17,6 +17,7 @@
 #include <glib/gprintf.h>
 //todo: use glib instead of stdlib
 #include <stdlib.h>
+#include "svg/stringstream.h"
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -69,20 +70,22 @@ public:
         number = num;
     }
 
-    gchar *getValueString(gchar *str)
+    gchar *getValueString()
     {
+        Inkscape::SVGOStringStream os;
+
         if( _set )
         {
 
             if( optNumber_set )
             {
-                g_sprintf(str, "%lf %lf", number, optNumber);
+                os << number << " " << optNumber;
             }
             else {
-                g_sprintf(str, "%lf", number);
+                os << number;
             }
         }
-        return str;
+        return g_strdup(os.str().c_str());
     }
 
     void set(gchar const *str)
@@ -94,13 +97,12 @@ public:
 
         if( values[0] != NULL )
         {
-            sscanf(values[0], "%f", &number);
+            number = g_ascii_strtod(values[0], NULL);
             _set = TRUE;
 
             if( values[1] != NULL )
             {
-  //              optNumber = g_ascii_strtod(values[1], NULL);
-                               sscanf(values[1], "%f", &optNumber);
+                optNumber = g_ascii_strtod(values[1], NULL);
                 optNumber_set = TRUE;
             }
             else
index 66cdf9aa063dd700619f2dbf1564ad1a5ddbd708..c60ffb44f7c60cf30822804cfe52f294c45f841b 100644 (file)
@@ -319,8 +319,9 @@ sp_filter_write(SPObject *object, Inkscape::XML::Node *repr, guint flags)
     }
 
     if (filter->filterRes.getNumber()>=0) {
-    char filterRes[32];
-        repr->setAttribute("filterRes", filter->filterRes.getValueString(filterRes));
+        gchar *tmp = filter->filterRes.getValueString();
+        repr->setAttribute("filterRes", tmp);
+        g_free(tmp);
     } else {
         repr->setAttribute("filterRes", NULL);
     }