* valprint.c: Include "exceptions.h".

(val_print): If something goes wrong while printing, supply an
	error message.
This commit is contained in:
Daniel Jacobowitz 2006-05-15 16:53:38 +00:00
parent 245c7f487f
commit 19ca80ba57
3 changed files with 21 additions and 3 deletions

View file

@ -34,6 +34,7 @@
#include "valprint.h"
#include "floatformat.h"
#include "doublest.h"
#include "exceptions.h"
#include <errno.h>
@ -205,6 +206,9 @@ val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
CORE_ADDR address, struct ui_file *stream, int format,
int deref_ref, int recurse, enum val_prettyprint pretty)
{
volatile struct gdb_exception except;
int ret = 0;
struct type *real_type = check_typedef (type);
if (pretty == Val_pretty_default)
{
@ -224,8 +228,15 @@ val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
return (0);
}
return (LA_VAL_PRINT (type, valaddr, embedded_offset, address,
stream, format, deref_ref, recurse, pretty));
TRY_CATCH (except, RETURN_MASK_ERROR)
{
ret = LA_VAL_PRINT (type, valaddr, embedded_offset, address,
stream, format, deref_ref, recurse, pretty);
}
if (except.reason < 0)
fprintf_filtered (stream, _("<error reading variable>"));
return ret;
}
/* Check whether the value VAL is printable. Return 1 if it is;