* varobj.c (varobj_get_type): Use type_to_string.

This commit is contained in:
Vladimir Prus 2009-06-30 09:24:47 +00:00
parent 96ded7385d
commit 1a4300e94d
2 changed files with 6 additions and 17 deletions

View File

@ -1,3 +1,7 @@
2009-06-30 Vladimir Prus <vladimir@codesourcery.com>
* varobj.c (varobj_get_type): Use type_to_string.
2009-06-29 Pedro Alves <pedro@codesourcery.com>
* infrun.c (handle_inferior_event): Context switch to the new

View File

@ -34,6 +34,7 @@
#include "vec.h"
#include "gdbthread.h"
#include "inferior.h"
#include "typeprint.h"
#if HAVE_PYTHON
#include "python/python.h"
@ -1030,29 +1031,13 @@ varobj_add_child (struct varobj *var, const char *name, struct value *value)
char *
varobj_get_type (struct varobj *var)
{
struct value *val;
struct cleanup *old_chain;
struct ui_file *stb;
char *thetype;
long length;
/* For the "fake" variables, do not return a type. (It's type is
NULL, too.)
Do not return a type for invalid variables as well. */
if (CPLUS_FAKE_CHILD (var) || !var->root->is_valid)
return NULL;
stb = mem_fileopen ();
old_chain = make_cleanup_ui_file_delete (stb);
/* To print the type, we simply create a zero ``struct value *'' and
cast it to our type. We then typeprint this variable. */
val = value_zero (var->type, not_lval);
type_print (value_type (val), "", stb, -1);
thetype = ui_file_xstrdup (stb, &length);
do_cleanups (old_chain);
return thetype;
return type_to_string (var->type);
}
/* Obtain the type of an object variable. */