From a05016c09e47a026bdbf05d02101c4eb40ac52f5 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 Oct 2008 20:33:51 +0000 Subject: [PATCH] * utils.c (make_cleanup_close): Use make_cleanup_dtor. (do_close_cleanup): Don't free 'fd'. --- gdb/ChangeLog | 5 +++++ gdb/utils.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c0fd6ea235..885f276053 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-10-30 Tom Tromey + + * utils.c (make_cleanup_close): Use make_cleanup_dtor. + (do_close_cleanup): Don't free 'fd'. + 2008-10-28 Tom Tromey * source.c (symtab_to_fullname): Test 'r >= 0'. diff --git a/gdb/utils.c b/gdb/utils.c index f9a5f19fde..26d7933469 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -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. */