diff options
author | Tom Tromey <tom@tromey.com> | 2018-02-22 15:21:42 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-03-08 22:00:08 -0700 |
commit | 5dc1a7047a77f86de7518a99805af64891d4e22a (patch) | |
tree | c7ba135d8453850fbfe0af19b69cd144a93c17a3 /gdb/source.c | |
parent | fdf07f3aeba5906fec462fba33801c173862f241 (diff) | |
download | gdb-5dc1a7047a77f86de7518a99805af64891d4e22a.zip gdb-5dc1a7047a77f86de7518a99805af64891d4e22a.tar.gz gdb-5dc1a7047a77f86de7518a99805af64891d4e22a.tar.bz2 |
Use scoped_fd in more places
This changes a few more places to use scoped_fd. This allows the
removal of some cleanups.
Regression tested by the buildbot, though note that I'm not sure
whether the buildbot actually builds anything using all of these
files.
gdb/ChangeLog
2018-03-08 Tom Tromey <tom@tromey.com>
* source.c (get_filename_and_charpos): Use scoped_fd.
* nto-procfs.c (procfs_open_1): Use scoped_fd.
(procfs_pidlist): Likewise.
* procfs.c (proc_get_LDT_entry): Use scoped_fd.
(iterate_over_mappings): Likewise.
Diffstat (limited to 'gdb/source.c')
-rw-r--r-- | gdb/source.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/gdb/source.c b/gdb/source.c index 3b4920f..5e50f42 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -42,6 +42,7 @@ #include "ui-out.h" #include "readline/readline.h" #include "common/enum-flags.h" +#include "common/scoped_fd.h" #include <algorithm> #include "common/pathstuff.h" @@ -1215,24 +1216,21 @@ find_source_lines (struct symtab *s, int desc) static int get_filename_and_charpos (struct symtab *s, char **fullname) { - int desc, linenums_changed = 0; - struct cleanup *cleanups; + int linenums_changed = 0; - desc = open_source_file (s); - if (desc < 0) + scoped_fd desc (open_source_file (s)); + if (desc.get () < 0) { if (fullname) *fullname = NULL; return 0; } - cleanups = make_cleanup_close (desc); if (fullname) *fullname = s->fullname; if (s->line_charpos == 0) linenums_changed = 1; if (linenums_changed) - find_source_lines (s, desc); - do_cleanups (cleanups); + find_source_lines (s, desc.get ()); return linenums_changed; } |