[anjuta] symbol-db: fix #597113



commit f8dc87e60d076f23b23609375747fe77af65ce3d
Author: Massimo Corà <mcora src gnome org>
Date:   Tue Oct 6 19:04:06 2009 +0200

    symbol-db: fix #597113
    
    The crash was probably due to #588485. Improved code.

 plugins/symbol-db/symbol-db-engine-core.c |  157 +++++++++++++++--------------
 1 files changed, 81 insertions(+), 76 deletions(-)
---
diff --git a/plugins/symbol-db/symbol-db-engine-core.c b/plugins/symbol-db/symbol-db-engine-core.c
index 645a409..1541dfe 100644
--- a/plugins/symbol-db/symbol-db-engine-core.c
+++ b/plugins/symbol-db/symbol-db-engine-core.c
@@ -765,15 +765,16 @@ sdb_engine_get_tuple_id_by_unique_name (SymbolDBEngine * dbe, static_query_type
 	}
 
 	ret_value = gda_holder_take_static_value (param, param_value, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_STR(priv, ret_value);		
-	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{		
+			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}
 	}	
 	
 	/* execute the query with parametes just set */
@@ -845,16 +846,17 @@ sdb_engine_get_tuple_id_by_unique_name2 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value1, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}	
 		
 	
 	/* ...and the second one */
@@ -867,16 +869,17 @@ sdb_engine_get_tuple_id_by_unique_name2 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value2, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}	
 
 	/* execute the query with parametes just set */
 	data_model = gda_connection_statement_execute_select (priv->db_connection, 
@@ -940,16 +943,17 @@ sdb_engine_get_tuple_id_by_unique_name3 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value1, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}		
 
 	
 	/* ...and the second one */
@@ -962,16 +966,17 @@ sdb_engine_get_tuple_id_by_unique_name3 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value2, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}	
 
 
 	/* ...and the third one */
@@ -984,16 +989,17 @@ sdb_engine_get_tuple_id_by_unique_name3 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value3, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}	
 
 		
 	/* execute the query with parametes just set */
@@ -1059,18 +1065,17 @@ sdb_engine_get_tuple_id_by_unique_name4 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value1, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}		
-
-	
 
 	/* ...and the second one */
 	if ((param = gda_set_get_holder ((GdaSet*)plist, param_key2)) == NULL)
@@ -1081,17 +1086,17 @@ sdb_engine_get_tuple_id_by_unique_name4 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value2, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}		
-
 
 	/* ...and the third one */
 	if ((param = gda_set_get_holder ((GdaSet*)plist, param_key3)) == NULL)
@@ -1102,17 +1107,17 @@ sdb_engine_get_tuple_id_by_unique_name4 (SymbolDBEngine * dbe,
 	}
 	
 	ret_value = gda_holder_take_static_value (param, value3, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}		
-
 		
 	/* ...and the fourth one */
 	if ((param = gda_set_get_holder ((GdaSet*)plist, param_key4)) == NULL)
@@ -1123,17 +1128,17 @@ sdb_engine_get_tuple_id_by_unique_name4 (SymbolDBEngine * dbe,
 	}
 
 	ret_value = gda_holder_take_static_value (param, value4, &ret_bool, NULL);	
-	if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+	if (ret_value != NULL)
 	{
-		if (ret_value != NULL)
+		if (G_VALUE_HOLDS_STRING (ret_value) == TRUE)
+		{
 			MP_RETURN_OBJ_STR(priv, ret_value);
+		}
+		else
+		{
+			MP_RETURN_OBJ_INT(priv, ret_value);
+		}	
 	}
-	else
-	{
-		if (ret_value != NULL)
-			MP_RETURN_OBJ_INT(priv, ret_value);		
-	}		
-	
 			
 	/* execute the query with parametes just set */
 	data_model = gda_connection_statement_execute_select (priv->db_connection, 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]