Move make_cleanup_close to common code
authorGary Benson <gbenson@redhat.com>
Wed, 10 Jun 2015 13:28:43 +0000 (14:28 +0100)
committerGary Benson <gbenson@redhat.com>
Wed, 10 Jun 2015 13:28:43 +0000 (14:28 +0100)
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.

gdb/ChangeLog
gdb/common/filestuff.c
gdb/common/filestuff.h
gdb/utils.c
gdb/utils.h

index c9f527c..d6ef5c1 100644 (file)
@@ -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
index 14d6324..25ea8fa 100644 (file)
@@ -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);
+}
index 98522a6..e997ecc 100644 (file)
@@ -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 */
index aaaf9c5..1c1ced4 100644 (file)
@@ -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
index cae1ac0..0e93ead 100644 (file)
@@ -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);