]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Add make_cleanup_close() function.
authorAndrew Cagney <cagney@redhat.com>
Tue, 23 May 2000 14:48:13 +0000 (14:48 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 23 May 2000 14:48:13 +0000 (14:48 +0000)
gdb/ChangeLog
gdb/defs.h
gdb/utils.c

index d18c7537c31f068ea5cf3edd19104070efd44fcb..3fd02bdbec8220a75e4976fbb409a26d7701e7eb 100644 (file)
@@ -1,3 +1,8 @@
+Wed May 24 00:38:09 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * utils.c (make_cleanup_close, do_close_cleanup): New functions.
+       * defs.h (make_cleanup_close): Add declaration.
+
 Tue May 23 20:47:50 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * configure.in (build_warnings): Add -Wuninitialized.
index d2810dc4a7a118b987a8af6fcb25235f246374e7..b11edd14ef7a73ba8969c37d5f4bbb2fb6dfcf90 100644 (file)
@@ -332,6 +332,8 @@ extern struct cleanup *make_cleanup_freeargv (char **);
 struct ui_file;
 extern struct cleanup *make_cleanup_ui_file_delete (struct ui_file *);
 
+extern struct cleanup *make_cleanup_close (int fd);
+
 extern struct cleanup *make_cleanup_bfd_close (bfd *abfd);
 
 extern struct cleanup *make_final_cleanup (make_cleanup_ftype *, void *);
index 8e2c5c550f8761f166c096b4bb5eca02eb6a8b9d..6f5264a8d11bcd459e0f58223cef8f012f113e9c 100644 (file)
@@ -215,6 +215,19 @@ make_cleanup_bfd_close (bfd *abfd)
   return make_cleanup (do_bfd_close_cleanup, abfd);
 }
 
+static void
+do_close_cleanup (void *arg)
+{
+  close ((int) arg);
+}
+
+struct cleanup *
+make_cleanup_close (int fd)
+{
+  /* int into void*. Outch!! */
+  return make_cleanup (do_close_cleanup, (void *) fd);
+}
+
 static void
 do_ui_file_delete (void *arg)
 {