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

Stephane Popinet popinet at users.sf.net
Fri May 15 02:55:25 UTC 2009


The following commit has been merged in the upstream branch:
commit a8e90f4ced5f4e273be34a4528314305915f9b3e
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Wed Jun 11 19:39:58 2008 +1000

    Fix for OutputSimulation silly bug
    
    darcs-hash:20080611093958-d4795-7f1791596abbed9bc7889f5067ae11c9c0bfaed1.gz

diff --git a/src/output.c b/src/output.c
index 603b53e..c7dc69b 100644
--- a/src/output.c
+++ b/src/output.c
@@ -1212,7 +1212,19 @@ static gboolean output_simulation_event (GfsEvent * event, GfsSimulation * sim)
     GfsDomain * domain = GFS_DOMAIN (sim);
     GfsOutputSimulation * output = GFS_OUTPUT_SIMULATION (event);
 
-    domain->variables_io = output->var ? output->var : domain->variables;
+    g_slist_free (domain->variables_io);
+    if (output->var)
+      domain->variables_io = output->var;
+    else {
+      GSList * i = domain->variables;
+      domain->variables_io = NULL;
+      while (i) {
+	if (GFS_VARIABLE1 (i->data)->name)
+	  domain->variables_io = g_slist_append (domain->variables_io, i->data);
+	i = i->next;
+      }
+    }
+
     domain->binary =       output->binary;
     sim->output_solid   =  output->solid;
     switch (output->format) {
@@ -1228,8 +1240,8 @@ static gboolean output_simulation_event (GfsEvent * event, GfsSimulation * sim)
 
       fputs ("# 1:X 2:Y: 3:Z", fp);
       while (i) {
-	if (GFS_VARIABLE1 (i->data)->name)
-	  fprintf (fp, " %d:%s", nv++, GFS_VARIABLE1 (i->data)->name);
+	g_assert (GFS_VARIABLE1 (i->data)->name);
+	fprintf (fp, " %d:%s", nv++, GFS_VARIABLE1 (i->data)->name);
 	i = i->next;
       }
       fputc ('\n', fp);
@@ -1250,6 +1262,8 @@ static gboolean output_simulation_event (GfsEvent * event, GfsSimulation * sim)
     default:
       g_assert_not_reached ();
     }
+    if (!output->var)
+      g_slist_free (domain->variables_io);
     domain->variables_io = NULL;
     domain->binary =       TRUE;
     sim->output_solid   =  TRUE;

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list