* utils.c (make_cleanup_close): Use make_cleanup_dtor.
authorTom Tromey <tromey@redhat.com>
Thu, 30 Oct 2008 20:33:51 +0000 (20:33 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 30 Oct 2008 20:33:51 +0000 (20:33 +0000)
(do_close_cleanup): Don't free 'fd'.

gdb/ChangeLog
gdb/utils.c

index c0fd6ea2356aef4bfa161aa3e56fa277393cd98b..885f2760536c80d3f580381d6faba0844ba413ce 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-30  Tom Tromey  <tromey@redhat.com>
+
+       * utils.c (make_cleanup_close): Use make_cleanup_dtor.
+       (do_close_cleanup): Don't free 'fd'.
+
 2008-10-28  Tom Tromey  <tromey@redhat.com>
 
        * source.c (symtab_to_fullname): Test 'r >= 0'.
index f9a5f19fded899c9092e72614c8ff00b18ac7e53..26d79334696133415e0ad3fe41896f406beca9db 100644 (file)
@@ -244,7 +244,6 @@ do_close_cleanup (void *arg)
 {
   int *fd = arg;
   close (*fd);
-  xfree (fd);
 }
 
 struct cleanup *
@@ -252,7 +251,7 @@ make_cleanup_close (int fd)
 {
   int *saved_fd = xmalloc (sizeof (fd));
   *saved_fd = fd;
-  return make_cleanup (do_close_cleanup, saved_fd);
+  return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
 }
 
 /* Helper function which does the work for make_cleanup_fclose.  */