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 c9f527c7270b707ff697119c783b2033c9258589..d6ef5c1c494cb9c8b0278d10abfa025c9fdf533e 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 14d63246ca7f338b5f79134442b226b6f77db9b7..25ea8fa61b4fe81b04e1d03b8fb8387d5cb4fa4b 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 98522a68de912a2c56b1d563a2818aa548af2566..e997ecc7bccc1ae1eb8f5e12c73f7adff6d089be 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 aaaf9c5d678153b800a7e6504c297360d5ced706..1c1ced41b304fd971bfcdc61c9ef79e2e106944f 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 cae1ac05c4a5e9402c1550eba09069fd12fd6e46..0e93ead91f3c41284032fda7a7190e4c94f24dfc 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);