#include "gdbcmd.h"
#include "observer.h"
#include "common/gdb_optional.h"
+#include "common/byte-vector.h"
#include <ctype.h>
#include "run-time-clock.h"
gdb_assert (prev_value != NULL);
gdb_assert (this_value != NULL);
- if (value_optimized_out (prev_value) != value_optimized_out (this_value)
- || value_entirely_available (prev_value)
- != value_entirely_available (this_value))
- ret = 1;
- if (value_optimized_out (prev_value)
- || !value_entirely_available (prev_value))
- ret = 0;
- else
- ret = memcmp (value_contents_all (prev_value),
- value_contents_all (this_value),
- register_size (gdbarch, regnum)) != 0;
+ ret = value_contents_eq (prev_value, 0, this_value, 0,
+ register_size (gdbarch, regnum)) == 0;
release_value (prev_value);
release_value (this_value);
/* Create a buffer and read it in. */
total_bytes = word_size * nr_rows * nr_cols;
- std::unique_ptr<gdb_byte[]> mbuf (new gdb_byte[total_bytes]);
+ gdb::byte_vector mbuf (total_bytes);
/* Dispatch memory reads to the topmost target, not the flattened
current_target. */
nr_bytes = target_read (current_target.beneath,
- TARGET_OBJECT_MEMORY, NULL, mbuf.get (),
+ TARGET_OBJECT_MEMORY, NULL, mbuf.data (),
addr, total_bytes);
if (nr_bytes <= 0)
error (_("Unable to read memory."));