const_cast instead of make_nonvolatile
const_cast should be called cv_cast. Oh well, this is the right thing to
use.
Change-Id: I1c2e8714c1a6be6f07cc5d2321d578d6b1c2b43b
diff --git a/common/vsoc/lib/e2e_test_region_view.h b/common/vsoc/lib/e2e_test_region_view.h
index e6e7a78..965fce8 100644
--- a/common/vsoc/lib/e2e_test_region_view.h
+++ b/common/vsoc/lib/e2e_test_region_view.h
@@ -26,20 +26,22 @@
class E2ERegionView : public vsoc::TypedRegionView<Layout> {
public:
const char* guest_string(size_t index) const {
- return make_nonvolatile(this->data().data[index].guest_writable);
+ return const_cast<const char*>(this->data().data[index].guest_writable);
}
const char* host_string(size_t index) const {
- return make_nonvolatile(this->data().data[index].host_writable);
+ return const_cast<const char*>(this->data().data[index].host_writable);
}
bool set_guest_string(size_t index, const char* value) {
- strcpy(make_nonvolatile(this->data()->data[index].guest_writable), value);
+ strcpy(const_cast<char*>(this->data()->data[index].guest_writable),
+ value);
return true;
}
bool set_host_string(size_t index, const char* value) {
- strcpy(make_nonvolatile(this->data()->data[index].host_writable), value);
+ strcpy(const_cast<char*>(this->data()->data[index].host_writable),
+ value);
return true;
}
@@ -54,16 +56,6 @@
void host_status(vsoc::layout::e2e_test::E2ETestStage stage) {
this->data()->host_status.set_value(stage);
}
-
- protected:
- /**
- * The string functions have problems with volatile pointers, so
- * this function casts them away.
- */
- template <typename T>
- static T* make_nonvolatile(volatile T* in) {
- return (T*)in;
- }
};
class E2EPrimaryRegionView