[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203

Stephane Popinet popinet at users.sf.net
Fri May 15 02:53:09 UTC 2009


The following commit has been merged in the upstream branch:
commit 00f4d5faff1648d65ccc8d85ba4fd839795a9e56
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Tue Mar 14 14:12:21 2006 +1100

    New interface for gfs_domain_add_derived_variable()
    
    darcs-hash:20060314031221-d4795-f838e191a7c6ce272588d849830cb5b77da08754.gz

diff --git a/src/domain.c b/src/domain.c
index b8aefa1..43883ab 100644
--- a/src/domain.c
+++ b/src/domain.c
@@ -3091,20 +3091,22 @@ void gfs_domain_combine_traverse (GfsDomain * domain1,
  *
  * Adds @v to @domain.
  *
- * Returns: %TRUE if the variable was successfully added to @domain or
- * %FALSE if a variable with the same name already exists.
+ * Returns: the #GfsDerivedVariable if the variable was successfully
+ * added to @domain or %NULL if a variable with the same name already
+ * exists.
  */
-gboolean gfs_domain_add_derived_variable (GfsDomain * domain, GfsDerivedVariable v)
+GfsDerivedVariable * gfs_domain_add_derived_variable (GfsDomain * domain, GfsDerivedVariable v)
 {
-  g_return_val_if_fail (domain != NULL, FALSE);
+  GfsDerivedVariable * v1;
 
-  if (gfs_variable_from_name (domain->variables, v.name))
-    return FALSE;
-  if (gfs_derived_variable_from_name (domain->derived_variables, v.name))
-    return FALSE;
-  domain->derived_variables = g_slist_prepend (domain->derived_variables, 
-					       g_memdup (&v, sizeof (GfsDerivedVariable)));
-  return TRUE;
+  g_return_val_if_fail (domain != NULL, NULL);
+
+  if (gfs_variable_from_name (domain->variables, v.name) ||
+      gfs_derived_variable_from_name (domain->derived_variables, v.name))
+    return NULL;
+  v1 = g_memdup (&v, sizeof (GfsDerivedVariable));
+  domain->derived_variables = g_slist_prepend (domain->derived_variables, v1);
+  return v1;
 }
 
 /**
diff --git a/src/domain.h b/src/domain.h
index 8c7a36c..ac08e0b 100644
--- a/src/domain.h
+++ b/src/domain.h
@@ -257,8 +257,8 @@ void         gfs_domain_combine_traverse      (GfsDomain * domain1,
 					       gpointer idata,
 					       FttCellTraverseFunc outside,
 					       gpointer odata);
-gboolean     gfs_domain_add_derived_variable  (GfsDomain * domain, 
-					       GfsDerivedVariable v);
+GfsDerivedVariable * gfs_domain_add_derived_variable  (GfsDomain * domain, 
+						       GfsDerivedVariable v);
 gboolean     gfs_domain_remove_derived_variable (GfsDomain * domain, 
 						 const gchar * name);
 
diff --git a/src/utils.c b/src/utils.c
index bf8baf7..4249f93 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -445,11 +445,8 @@ static void function_read (GtsObject ** o, GtsFile * fp)
       i = ldv;
       while (i) {
 	GfsDerivedVariable * v = i->data;
-	fprintf (fin, "  %s = (* (Func) %p) (cell, face, sim, ", v->name, v->func);
-	if (v->data)
-	  fprintf (fin, "%p);\n", v->data);
-	else
-	  fprintf (fin, "NULL);\n");
+	fprintf (fin, "  %s = (* (Func) %p) (cell, face, sim, ((GfsDerivedVariable *) %p)->data);\n", 
+		 v->name, v->func, v);
 	i = i->next;
       }
       g_slist_free (ldv);

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list