summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2007-02-18 05:47:11 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2007-02-18 05:47:11 +0000
commita98ab31d6ed185ac36be908980170d5a22c0cdb1 (patch)
tree33e5adfaab4ab3b1c16cc99a29a82d2bc4983b63 /src
parentreverse the order of markers, because since rev 13483 stroke-style.cpp reads ... (diff)
downloadinkscape-a98ab31d6ed185ac36be908980170d5a22c0cdb1.tar.gz
inkscape-a98ab31d6ed185ac36be908980170d5a22c0cdb1.zip
standardize converting from number to string and back
(bzr r2389)
Diffstat (limited to 'src')
-rw-r--r--src/number-opt-number.h16
-rw-r--r--src/sp-filter.cpp5
2 files changed, 12 insertions, 9 deletions
diff --git a/src/number-opt-number.h b/src/number-opt-number.h
index ff3b17dfa..51966a101 100644
--- a/src/number-opt-number.h
+++ b/src/number-opt-number.h
@@ -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
diff --git a/src/sp-filter.cpp b/src/sp-filter.cpp
index 66cdf9aa0..c60ffb44f 100644
--- a/src/sp-filter.cpp
+++ b/src/sp-filter.cpp
@@ -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);
}