[libgda] Fixed Oracle provider building due to GdaNumeric seal
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Fixed Oracle provider building due to GdaNumeric seal
- Date: Sun, 20 Nov 2011 17:13:50 +0000 (UTC)
commit 8579e78d0b2c3db68cfbb4a80b0164d3f7f4c350
Author: Vivien Malerba <malerba gnome-db org>
Date: Sun Nov 20 16:14:36 2011 +0100
Fixed Oracle provider building due to GdaNumeric seal
providers/oracle/gda-oracle-util.c | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/providers/oracle/gda-oracle-util.c b/providers/oracle/gda-oracle-util.c
index 4c12032..c4b11fe 100644
--- a/providers/oracle/gda-oracle-util.c
+++ b/providers/oracle/gda-oracle-util.c
@@ -580,15 +580,19 @@ _gda_oracle_set_value (GValue *value,
break;
case GDA_STYPE_NUMERIC: {
GdaNumeric *numeric;
+ gchar *tmp;
g_assert (!ora_value->use_callback);
- numeric = g_new0 (GdaNumeric, 1);
- numeric->number = g_malloc0 (ora_value->defined_size);
- memcpy (numeric->number, ora_value->value, ora_value->defined_size);
- numeric->number [ora_value->rlen] = '\0';
- g_strchomp (numeric->number);
- numeric->precision = ora_value->precision;
- numeric->width = ora_value->scale;
+ tmp = g_malloc0 (ora_value->defined_size);
+ memcpy (tmp, ora_value->value, ora_value->defined_size);
+ tmp [ora_value->rlen] = '\0';
+ g_strchomp (tmp);
+
+ numeric = gda_numeric_new ();
+ gda_numeric_set_from_string (numeric, tmp);
+ g_free (tmp);
+ gda_numeric_set_precision (numeric, ora_value->precision);
+ gda_numeric_set_width (numeric, ora_value->scale);
g_value_take_boxed (value, numeric);
break;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]