forked from Imagelibrary/binutils-gdb
Return early in target_xfer_partial when LEN is zero.
Nowadays, argument LEN of to_xfer_partial can be zero in some cases, and each implementation may do nothing and return zero, indicating transfer is done. That is fine. However, when we change to_xfer_partial to return target_xfer_status, we have to check every return value of most of to_xfer_partial implementations, return TARGET_XFER_DONE if return value is zero. This patch simplifies this by checking LEN in target_xfer_partial, and return 0 if LEN is zero. Regression tested on x86_84-linux. Is it OK? gdb: 2014-02-07 Yao Qi <yao@codesourcery.com> * target.c (target_xfer_partial): Return zero if LEN is zero.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
2014-02-07 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* target.c (target_xfer_partial): Return zero if LEN is zero.
|
||||
|
||||
2014-02-07 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* auxv.c (procfs_xfer_auxv): Replace -1 with TARGET_XFER_E_IO.
|
||||
|
||||
@@ -1697,6 +1697,10 @@ target_xfer_partial (struct target_ops *ops,
|
||||
|
||||
gdb_assert (ops->to_xfer_partial != NULL);
|
||||
|
||||
/* Transfer is done when LEN is zero. */
|
||||
if (len == 0)
|
||||
return 0;
|
||||
|
||||
if (writebuf && !may_write_memory)
|
||||
error (_("Writing to memory is not allowed (addr %s, len %s)"),
|
||||
core_addr_to_string_nz (offset), plongest (len));
|
||||
|
||||
Reference in New Issue
Block a user