commit 6ef25799392551199a8217ac2b39e3e1c9ab165f Author: Alexander Myltsev Date: Tue Sep 1 20:49:17 2009 +0400 g_ascii_dtostr instead of printf("%f") (fixes #21312). diff --git a/gsynaptics/src/gsynaptics.c b/gsynaptics/src/gsynaptics.c index f1e6c7d..93cd996 100644 --- a/gsynaptics/src/gsynaptics.c +++ b/gsynaptics/src/gsynaptics.c @@ -705,6 +705,14 @@ g_synaptics_set_vertical_scroll_delta (GSynaptics *synaptics, gint delta) } } +static char * +strdup_format_param(const gchar *prefix, gdouble value) +{ + gchar buffer[G_ASCII_DTOSTR_BUF_SIZE]; + g_ascii_dtostr(buffer, G_ASCII_DTOSTR_BUF_SIZE, value); + return g_strdup_printf("%s%s", prefix, buffer); +} + void g_synaptics_set_accel_factor(GSynaptics *synaptics, gint value) { @@ -715,7 +723,7 @@ g_synaptics_set_accel_factor(GSynaptics *synaptics, gint value) if (priv->synclient) { gchar *command; - command = g_strdup_printf ("synclient AccelFactor=%f", + command = strdup_format_param("synclient AccelFactor=", (gdouble)value / 1000); g_spawn_command_line_async (command, NULL); g_free (command); @@ -736,7 +744,7 @@ g_synaptics_set_max_speed(GSynaptics *synaptics, gint value) if (priv->synclient) { gchar *command; - command = g_strdup_printf ("synclient MaxSpeed=%f", + command = strdup_format_param ("synclient MaxSpeed=", (gdouble)value / 1000); g_spawn_command_line_async (command, NULL); g_free (command); @@ -757,7 +765,7 @@ g_synaptics_set_min_speed(GSynaptics *synaptics, gint value) if (priv->synclient) { gchar *command; - command = g_strdup_printf ("synclient MinSpeed=%f", + command = strdup_format_param ("synclient MinSpeed=", (gdouble)value / 1000); g_spawn_command_line_async (command, NULL); g_free (command); @@ -824,8 +832,9 @@ g_synaptics_set_coasting_enabled (GSynaptics *synaptics, gboolean enable) if (priv->synclient) { gchar *command; - command = g_strdup_printf ("synclient CoastingSpeedThreshold=%f", - thresh); + command = strdup_format_param ( + "synclient CoastingSpeedThreshold=", + thresh); g_spawn_command_line_async (command, NULL); g_free (command); } @@ -845,7 +854,7 @@ g_synaptics_set_circular_scroll_delta (GSynaptics *synaptics, gint delta) if (priv->synclient) { gchar *command; - command = g_strdup_printf ("synclient CircScrollDelta=%f", + command = strdup_format_param ("synclient CircScrollDelta=", (gdouble)delta / 1000); g_spawn_command_line_async (command, NULL); g_free (command);