[binutils-gdb] Move make_cleanup_close to common code

Gary Benson gary@sourceware.org
Wed Jun 10 13:35:00 GMT 2015


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ca09583623ab77362186a9fd1ae260c38dcab470

commit ca09583623ab77362186a9fd1ae260c38dcab470
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed Jun 10 14:28:43 2015 +0100

    Move make_cleanup_close to common code
    
    This commit moves the function make_cleanup_close from gdb/utils.[ch]
    to gdb/common/filestuff.[ch] to make it usable from common code.
    
    gdb/ChangeLog:
    
    	* utils.h (make_cleanup_close): Moved to common/filestuff.h.
    	* utils.c (do_close_cleanup): Moved to common/filestuff.c.
    	(make_cleanup_close): Likewise.
    	* common/filestuff.h (make_cleanup_close): Moved from utils.h.
    	* common/filestuff.c (do_close_cleanup): Moved from utils.c.
    	(make_cleanup_close): Likewise.

Diff:
---
 gdb/ChangeLog          |  9 +++++++++
 gdb/common/filestuff.c | 21 +++++++++++++++++++++
 gdb/common/filestuff.h |  4 ++++
 gdb/utils.c            | 17 -----------------
 gdb/utils.h            |  2 +-
 5 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c9f527c..d6ef5c1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2015-06-10  Gary Benson <gbenson@redhat.com>
+
+	* utils.h (make_cleanup_close): Moved to common/filestuff.h.
+	* utils.c (do_close_cleanup): Moved to common/filestuff.c.
+	(make_cleanup_close): Likewise.
+	* common/filestuff.h (make_cleanup_close): Moved from utils.h.
+	* common/filestuff.c (do_close_cleanup): Moved from utils.c.
+	(make_cleanup_close): Likewise.
+
 2015-06-03  Jon Turney  <jon.turney@dronecode.org.uk>
 
 	* windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE
diff --git a/gdb/common/filestuff.c b/gdb/common/filestuff.c
index 14d6324..25ea8fa 100644
--- a/gdb/common/filestuff.c
+++ b/gdb/common/filestuff.c
@@ -404,3 +404,24 @@ gdb_pipe_cloexec (int filedes[2])
 
   return result;
 }
+
+/* Helper function which does the work for make_cleanup_close.  */
+
+static void
+do_close_cleanup (void *arg)
+{
+  int *fd = arg;
+
+  close (*fd);
+}
+
+/* See cleanup-utils.h.  */
+
+struct cleanup *
+make_cleanup_close (int fd)
+{
+  int *saved_fd = xmalloc (sizeof (fd));
+
+  *saved_fd = fd;
+  return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
+}
diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h
index 98522a6..e997ecc 100644
--- a/gdb/common/filestuff.h
+++ b/gdb/common/filestuff.h
@@ -67,4 +67,8 @@ extern int gdb_socket_cloexec (int domain, int style, int protocol);
 
 extern int gdb_pipe_cloexec (int filedes[2]);
 
+/* Return a new cleanup that closes FD.  */
+
+extern struct cleanup *make_cleanup_close (int fd);
+
 #endif /* FILESTUFF_H */
diff --git a/gdb/utils.c b/gdb/utils.c
index aaaf9c5..1c1ced4 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -191,23 +191,6 @@ make_cleanup_bfd_unref (bfd *abfd)
   return make_cleanup (do_bfd_close_cleanup, abfd);
 }
 
-static void
-do_close_cleanup (void *arg)
-{
-  int *fd = arg;
-
-  close (*fd);
-}
-
-struct cleanup *
-make_cleanup_close (int fd)
-{
-  int *saved_fd = xmalloc (sizeof (fd));
-
-  *saved_fd = fd;
-  return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
-}
-
 /* Helper function which does the work for make_cleanup_fclose.  */
 
 static void
diff --git a/gdb/utils.h b/gdb/utils.h
index cae1ac0..0e93ead 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -80,7 +80,7 @@ struct section_addr_info;
 extern struct cleanup *(make_cleanup_free_section_addr_info 
                         (struct section_addr_info *));
 
-extern struct cleanup *make_cleanup_close (int fd);
+/* For make_cleanup_close see common/filestuff.h.  */
 
 extern struct cleanup *make_cleanup_fclose (FILE *file);



More information about the Gdb-cvs mailing list