diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-01-17 19:55:18 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-01-17 19:55:18 +0000 |
commit | c89ffd862078b73a03cb0fedb435f87dd0c03506 (patch) | |
tree | 9fccea9aee4565a36999e02e5ca60bc3c43ba55f /gdb | |
parent | aebb1cc98b86fb4941cc461ce7901520a88cd20d (diff) | |
download | gdb-c89ffd862078b73a03cb0fedb435f87dd0c03506.zip gdb-c89ffd862078b73a03cb0fedb435f87dd0c03506.tar.gz gdb-c89ffd862078b73a03cb0fedb435f87dd0c03506.tar.bz2 |
gdb/
* symtab.c (iterate_over_some_symtabs): New variable cleanups,
initialize it by existing make_cleanup. Call new do_cleanups.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/symtab.c | 13 |
2 files changed, 15 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a98621c..e9f2e7c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-01-17 Jan Kratochvil <jan.kratochvil@redhat.com> + + * symtab.c (iterate_over_some_symtabs): New variable cleanups, + initialize it by existing make_cleanup. Call new do_cleanups. + 2013-01-17 Tom Tromey <tromey@redhat.com> * cp-abi.c (cp_abi_completer): New function. diff --git a/gdb/symtab.c b/gdb/symtab.c index f4ed8b9..c304f70 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -241,19 +241,26 @@ iterate_over_some_symtabs (const char *name, { const char *fullname = symtab_to_fullname (s); char *rp = gdb_realpath (fullname); + struct cleanup *cleanups = make_cleanup (xfree, rp); - make_cleanup (xfree, rp); if (FILENAME_CMP (real_path, rp) == 0) { if (callback (s, data)) - return 1; + { + do_cleanups (cleanups); + return 1; + } } if (!is_abs && compare_filenames_for_search (rp, name)) { if (callback (s, data)) - return 1; + { + do_cleanups (cleanups); + return 1; + } } + do_cleanups (cleanups); } } |