summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-04-17 08:17:03 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2013-04-17 08:17:03 -0400
commit234c9a36a21fae7c0489e2f67b8e0385e61db732 (patch)
tree33e9e1caf1befcb6c456c00d3ef548c4ba8a8020
parentc704b7be16cc46e1f57968ee5fd3d78de89135a5 (diff)
downloadgem5-234c9a36a21fae7c0489e2f67b8e0385e61db732.tar.xz
dev: Fix a bug in the use of seekp/seekg
This patch fixes two instances of incorrect use of the seekp/seekg stream member functions. These two functions return a stream reference (*this), and should not be compared to an integer value.
-rw-r--r--src/dev/disk_image.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dev/disk_image.cc b/src/dev/disk_image.cc
index 84027d9b4..8194eb507 100644
--- a/src/dev/disk_image.cc
+++ b/src/dev/disk_image.cc
@@ -108,7 +108,8 @@ RawDiskImage::read(uint8_t *data, std::streampos offset) const
if (!stream.is_open())
panic("file not open!\n");
- if (stream.seekg(offset * SectorSize, ios::beg) < 0)
+ stream.seekg(offset * SectorSize, ios::beg);
+ if (!stream.good())
panic("Could not seek to location in file");
streampos pos = stream.tellg();
@@ -132,7 +133,8 @@ RawDiskImage::write(const uint8_t *data, std::streampos offset)
if (!stream.is_open())
panic("file not open!\n");
- if (stream.seekp(offset * SectorSize, ios::beg) < 0)
+ stream.seekp(offset * SectorSize, ios::beg);
+ if (!stream.good())
panic("Could not seek to location in file");
DPRINTF(DiskImageWrite, "write: offset=%d\n", (uint64_t)offset);