[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