Memory leak patrol and minor cleanups.
authorJohn Darrington <john@darrington.wattle.id.au>
Fri, 8 Dec 2006 22:24:08 +0000 (22:24 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Fri, 8 Dec 2006 22:24:08 +0000 (22:24 +0000)
src/data/ChangeLog
src/data/value-labels.c
src/libpspp/ChangeLog
src/libpspp/array.c
src/ui/gui/ChangeLog
src/ui/gui/syntax-editor.c
src/ui/terminal/ChangeLog
src/ui/terminal/msg-ui.c

index 29e97ff5091c02cf905fdc87777fb5baa5794969..3d06ed277e0db7b755fc4b6316eec77d5a4ef5ff 100644 (file)
@@ -1,3 +1,8 @@
+Sat Dec  9 07:18:03 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * value-labels.c (destroy_atoms): New function.
+       * value-labels.c (atom_create): Call destroy_atoms in atexit handler.
+
 Thu Dec  7 17:38:26 2006  Ben Pfaff  <blp@gnu.org>
 
        Thanks to Jason Stover for pointing out this problem.
index 96d839ba361e90aba270c753d8fb0de13c608eed..357ab4fcb2b5f7f06fc059e0748aeb00b275e374 100644 (file)
@@ -447,6 +447,12 @@ static hsh_free_func free_atom;
 /* Hash table of atoms. */
 static struct hsh_table *atoms;
 
+static void
+destroy_atoms (void)
+{
+  hsh_destroy (atoms);
+}
+
 /* Creates and returns an atom for STRING. */
 static struct atom *
 atom_create (const char *string) 
@@ -457,7 +463,10 @@ atom_create (const char *string)
   assert (string != NULL);
           
   if (atoms == NULL) 
-    atoms = hsh_create (8, compare_atoms, hash_atom, free_atom, NULL);
+    {
+      atoms = hsh_create (8, compare_atoms, hash_atom, free_atom, NULL);
+      atexit (destroy_atoms);
+    }
 
   a.string = (char *) string;
   app = hsh_probe (atoms, &a);
index 45158bdb356f4a0738dff62d31386e0dd7170d4e..8e197d991b1289f84a78284c7764658d0c506240 100644 (file)
@@ -1,3 +1,7 @@
+Sat Dec  9 07:19:01 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * array.c: Removed gratuitous #include
+
 Thu Dec  7 20:33:23 WST 2006 John Darrington <john@darrington.wattle.id.au>
 
        * getl.c getl.h : Changed signature of create function to take a 
index da2c76e9ef2642f23ad6fa62f5e7072b4b1ab3f0..2f6ae1c29eee24cb835a6c800f56358bb8f4d41d 100644 (file)
@@ -91,7 +91,6 @@
 
 #include <config.h>
 #include "array.h"
-#include <gsl/gsl_rng.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <string.h>
index 2c04876d3a37cdbce1be3721f80c9166eda6862c..0b8aee88500806a5dab61ecde7a2613c37c817e5 100644 (file)
@@ -1,3 +1,7 @@
+Sat Dec  9 07:19:53 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * syntax-editor.c : New file.
+
 Tue Oct 31 19:25:31 2006  Ben Pfaff  <blp@gnu.org>
 
        * var-type-dialog.c: Add missing "#include <config.h>".
index 4efbd98c8f78296b4a16b548f8eff66cda95ef64..cc68cdce720dbf861fb7dc81a2f491f31397c282 100644 (file)
@@ -81,7 +81,7 @@ save_if_modified (struct syntax_editor *se)
          GError *err = NULL;
 
          if ( ! save_editor_to_file (se, se->name ? se->name : _("Untitled"),
-                                     err) )
+                                     &err) )
            {
              msg (ME, err->message);
              g_error_free (err);
index cebce364ce70aef403265810e55737e414f35528..21326230c9d10c548961d34e6d72dd6393d92646 100644 (file)
@@ -1,3 +1,7 @@
+Sat Dec  9 07:21:02 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * msg-ui.c (msg_ui_done): call msg_locator_done.
+
 Sun Dec  3 11:57:00 2006  Ben Pfaff  <blp@gnu.org>
 
        * read-line.c (read_interactive): Always read GETL_INTERACTIVE
index 6a67a6f1187f2bdcd209e3ad121ae1d980507c4a..9cbbf10f7998f0bbd541b3356e23bb136edfa072 100644 (file)
@@ -76,6 +76,7 @@ void
 msg_ui_done (void) 
 {
   msg_done ();
+  msg_locator_done ();
   
   if ( msg_file ) /* FIXME: do we really want to close stdout ?? */
     fclose (msg_file);