aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2011-02-16 10:13:53 +0000
committerPedro Alves <palves@redhat.com>2011-02-16 10:13:53 +0000
commitcd24cfaa4f49cd34f25ef0bd97f8e52fc885b0b1 (patch)
tree261236416ac55f3439886ffa245d4652f3092740 /gdb/value.c
parent60bbf3380ac7d9e1f24e3497b2cea852731a6654 (diff)
downloadfsf-binutils-gdb-cd24cfaa4f49cd34f25ef0bd97f8e52fc885b0b1.zip
fsf-binutils-gdb-cd24cfaa4f49cd34f25ef0bd97f8e52fc885b0b1.tar.gz
fsf-binutils-gdb-cd24cfaa4f49cd34f25ef0bd97f8e52fc885b0b1.tar.bz2
* value.c (value_available_contents_eq): Remove redundant local
variables. Fix available contents comparision. * value.h (value_available_contents_eq): Extend describing comment.
Diffstat (limited to 'gdb/value.c')
-rw-r--r--gdb/value.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/gdb/value.c b/gdb/value.c
index 2e07a85..d2863db 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -533,21 +533,13 @@ value_available_contents_eq (const struct value *val1, int offset1,
const struct value *val2, int offset2,
int length)
{
- int org_len = length;
- int org_offset1 = offset1;
- int org_offset2 = offset2;
int idx1 = 0, idx2 = 0;
- int prev_avail;
/* This routine is used by printing routines, where we should
already have read the value. Note that we only know whether a
value chunk is available if we've tried to read it. */
gdb_assert (!val1->lazy && !val2->lazy);
- /* The offset from either ORG_OFFSET1 or ORG_OFFSET2 where the
- available contents we haven't compared yet start. */
- prev_avail = 0;
-
while (length > 0)
{
range_s *r1, *r2;
@@ -561,9 +553,9 @@ value_available_contents_eq (const struct value *val1, int offset1,
/* The usual case is for both values to be completely available. */
if (idx1 == -1 && idx2 == -1)
- return (memcmp (val1->contents + org_offset1 + prev_avail,
- val2->contents + org_offset2 + prev_avail,
- org_len - prev_avail) == 0);
+ return (memcmp (val1->contents + offset1,
+ val2->contents + offset2,
+ length) == 0);
/* The contents only match equal if the available set matches as
well. */
else if (idx1 == -1 || idx2 == -1)
@@ -596,12 +588,11 @@ value_available_contents_eq (const struct value *val1, int offset1,
return 0;
/* Compare the _available_ contents. */
- if (memcmp (val1->contents + org_offset1 + prev_avail,
- val2->contents + org_offset2 + prev_avail,
- l2 - prev_avail) != 0)
+ if (memcmp (val1->contents + offset1,
+ val2->contents + offset2,
+ l1) != 0)
return 0;
- prev_avail += h1;
length -= h1;
offset1 += h1;
offset2 += h1;