From 089abb300be2e19837d378046b21117b68e64083 Mon Sep 17 00:00:00 2001 From: Andrea Zagli <a.zagli@comune.scandicci.fi.it> Date: Thu, 13 Feb 2014 15:54:03 +0100 Subject: [PATCH] Memory leaks and unnecessary call to functions. --- src/gdaex.c | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/src/gdaex.c b/src/gdaex.c index aa93dc7..477b2c1 100644 --- a/src/gdaex.c +++ b/src/gdaex.c @@ -1115,7 +1115,10 @@ gdaex_data_model_get_value_integer_at (GdaDataModel *data_model, gint row, gint } else { - ret = strtol (gda_value_stringify (v), NULL, 10); + gchar *str; + str = gda_value_stringify (v); + ret = strtol (str, NULL, 10); + g_free (str); } } else @@ -1154,7 +1157,10 @@ gdaex_data_model_get_value_float_at (GdaDataModel *data_model, gint row, gint co } else { - ret = g_strtod (gda_value_stringify (v), NULL); + gchar *str; + str = gda_value_stringify (v); + ret = g_strtod (str, NULL); + g_free (str); } } else @@ -1193,7 +1199,10 @@ gdaex_data_model_get_value_double_at (GdaDataModel *data_model, gint row, gint c } else { - ret = g_strtod (gda_value_stringify (v), NULL); + gchar *str; + str = gda_value_stringify (v); + ret = g_strtod (str, NULL); + g_free (str); } } else @@ -1450,7 +1459,7 @@ GDateTime } else if (gda_value_isa (v, G_TYPE_DATE)) { - gdate = gdaex_data_model_get_value_gdate_at (data_model, row, col); + gdate = (GDate *)g_value_get_boxed (v); ret = g_date_time_new_local ((gint)g_date_get_year (gdate), (gint)g_date_get_month (gdate), (gint)g_date_get_day (gdate), @@ -1925,7 +1934,10 @@ gdaex_data_model_iter_get_value_integer_at (GdaDataModelIter *iter, gint col) } else { - ret = strtol (gda_value_stringify (v), NULL, 10); + gchar *str; + str = gda_value_stringify (v); + ret = strtol (str, NULL, 10); + g_free (str); } } @@ -1963,7 +1975,10 @@ gdaex_data_model_iter_get_value_float_at (GdaDataModelIter *iter, gint col) } else { - ret = g_strtod (gda_value_stringify (v), NULL); + gchar *str; + str = gda_value_stringify (v); + ret = g_strtod (str, NULL); + g_free (str); } } @@ -2001,7 +2016,10 @@ gdaex_data_model_iter_get_value_double_at (GdaDataModelIter *iter, gint col) } else { - ret = g_strtod (gda_value_stringify (v), NULL); + gchar *str; + str = gda_value_stringify (v); + ret = g_strtod (str, NULL); + g_free (str); } } @@ -2250,15 +2268,15 @@ GDateTime } else if (gda_value_isa (v, G_TYPE_DATE)) { - gdate = gdaex_data_model_iter_get_value_gdate_at (iter, col); + gdate = (GDate *)g_value_get_boxed (v); if (gdate != NULL && g_date_valid (gdate)) { - ret = g_date_time_new_local (g_date_get_year (gdate), - g_date_get_month (gdate), - g_date_get_day (gdate), - 0, - 0, - 0.0); + ret = g_date_time_new_local ((gint)g_date_get_year (gdate), + (gint)g_date_get_month (gdate), + (gint)g_date_get_day (gdate), + (gint)0, + (gint)0, + (gdouble)0.0); } } else if (gda_value_isa (v, G_TYPE_DATE_TIME)) -- 2.49.0