gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] finish_sgftrace


From: Paul Pogonyshev
Subject: [gnugo-devel] finish_sgftrace
Date: Tue, 24 Jun 2003 23:15:47 +0000
User-agent: KMail/1.5.9

this simple patch prevents finish_sgftrace from freeing the trace
tree when it hasn't been written successfully.

Paul


Index: engine/sgffile.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/sgffile.c,v
retrieving revision 1.26
diff -u -p -r1.26 sgffile.c
--- engine/sgffile.c    1 May 2003 20:55:26 -0000       1.26
+++ engine/sgffile.c    24 Jun 2003 20:09:47 -0000
@@ -137,9 +137,13 @@ sgffile_enddump(const char *filename)
 {
   /* Check if we have a valid filename and a tree. */
   if (filename && *filename && sgf_dumptree) {
-    writesgf(sgf_dumptree->root, filename);
-    sgfFreeNode(sgf_dumptree->root);
-    sgf_dumptree = NULL;
+    if (writesgf(sgf_dumptree->root, filename)) {
+      /* Only delete the tree if writesgf() succeeds. If it doesn't, one
+       * will most likely wish to save into another (writable) file.
+       */
+      sgfFreeNode(sgf_dumptree->root);
+      sgf_dumptree = NULL;
+    }
   }
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]