Make safe_read_memory_integer() return non-zero result when successful.
This commit is contained in:
parent
1c5cec28bb
commit
ee8ff470c4
2 changed files with 24 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2002-05-30 Kevin Buettner <kevinb@redhat.com>
|
||||
|
||||
* corefile.c (do_captured_read_memory_integer): Return non-zero
|
||||
result.
|
||||
(safe_read_memory_integer): Copy result of memory read when
|
||||
status is non-zero. Also, add comments.
|
||||
|
||||
2002-05-20 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* Makefile.in (ppc_tdep_h): Define.
|
||||
|
|
|
@ -260,7 +260,10 @@ dis_asm_print_address (bfd_vma addr, struct disassemble_info *info)
|
|||
print_address (addr, info->stream);
|
||||
}
|
||||
|
||||
/* Read an integer from debugged memory, given address and number of bytes. */
|
||||
/* Argument / return result struct for use with
|
||||
do_captured_read_memory_integer(). MEMADDR and LEN are filled in
|
||||
by gdb_read_memory_integer(). RESULT is the contents that were
|
||||
successfully read from MEMADDR of length LEN. */
|
||||
|
||||
struct captured_read_memory_integer_arguments
|
||||
{
|
||||
|
@ -269,6 +272,13 @@ struct captured_read_memory_integer_arguments
|
|||
LONGEST result;
|
||||
};
|
||||
|
||||
/* Helper function for gdb_read_memory_integer(). DATA must be a
|
||||
pointer to a captured_read_memory_integer_arguments struct.
|
||||
Return 1 if successful. Note that the catch_errors() interface
|
||||
will return 0 if an error occurred while reading memory. This
|
||||
choice of return code is so that we can distinguish between
|
||||
success and failure. */
|
||||
|
||||
static int
|
||||
do_captured_read_memory_integer (void *data)
|
||||
{
|
||||
|
@ -278,9 +288,13 @@ do_captured_read_memory_integer (void *data)
|
|||
|
||||
args->result = read_memory_integer (memaddr, len);
|
||||
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Read memory at MEMADDR of length LEN and put the contents in
|
||||
RETURN_VALUE. Return 0 if MEMADDR couldn't be read and non-zero
|
||||
if successful. */
|
||||
|
||||
int
|
||||
safe_read_memory_integer (CORE_ADDR memaddr, int len, LONGEST *return_value)
|
||||
{
|
||||
|
@ -291,7 +305,7 @@ safe_read_memory_integer (CORE_ADDR memaddr, int len, LONGEST *return_value)
|
|||
|
||||
status = catch_errors (do_captured_read_memory_integer, &args,
|
||||
"", RETURN_MASK_ALL);
|
||||
if (!status)
|
||||
if (status)
|
||||
*return_value = args.result;
|
||||
|
||||
return status;
|
||||
|
|
Loading…
Reference in a new issue