* symtab.c (lookup_symbol_in_language): Use a cleanup.

This commit is contained in:
Tom Tromey 2009-03-13 21:02:58 +00:00
parent 787274f042
commit 9ee6bb930d
2 changed files with 8 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2009-03-13 Tom Tromey <tromey@redhat.com>
* symtab.c (lookup_symbol_in_language): Use a cleanup.
2009-03-13 Doug Evans <dje@google.com>
* exceptions.h: Clean up some comments on catch_exceptions usage.

View File

@ -1197,8 +1197,8 @@ lookup_symbol_in_language (const char *name, const struct block *block,
char *demangled_name = NULL;
const char *modified_name = NULL;
const char *mangled_name = NULL;
int needtofreename = 0;
struct symbol *returnval;
struct cleanup *cleanup = make_cleanup (null_cleanup, 0);
modified_name = name;
@ -1211,7 +1211,7 @@ lookup_symbol_in_language (const char *name, const struct block *block,
{
mangled_name = name;
modified_name = demangled_name;
needtofreename = 1;
make_cleanup (xfree, demangled_name);
}
}
else if (lang == language_java)
@ -1222,7 +1222,7 @@ lookup_symbol_in_language (const char *name, const struct block *block,
{
mangled_name = name;
modified_name = demangled_name;
needtofreename = 1;
make_cleanup (xfree, demangled_name);
}
}
@ -1241,8 +1241,7 @@ lookup_symbol_in_language (const char *name, const struct block *block,
returnval = lookup_symbol_aux (modified_name, mangled_name, block,
domain, lang, is_a_field_of_this);
if (needtofreename)
xfree (demangled_name);
do_cleanups (cleanup);
return returnval;
}