Patchwork [08/25] vmstate: factor vmstate_offset_pointer

login
register
mail settings
Submitter Juan Quintela
Date Oct. 19, 2009, 6:42 p.m.
Message ID <c096ccc92792d64d41030150cd105e03c504af2c.1255976538.git.quintela@redhat.com>
Download mbox | patch
Permalink /patch/36399/
State New
Headers show

Comments

Juan Quintela - Oct. 19, 2009, 6:42 p.m.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/hw.h |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

Patch

diff --git a/hw/hw.h b/hw/hw.h
index d1395e9..a331844 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -342,6 +342,10 @@  extern const VMStateInfo vmstate_info_buffer;
     (offsetof(_state, _field) +                                      \
      type_check(_type, typeof_field(_state, _field)))

+#define vmstate_offset_pointer(_state, _field, _type)                \
+    (offsetof(_state, _field) +                                      \
+     type_check_pointer(_type, typeof_field(_state, _field)))
+
 #define VMSTATE_SINGLE(_field, _state, _version, _info, _type) {     \
     .name       = (stringify(_field)),                               \
     .version_id = (_version),                                        \
@@ -398,8 +402,7 @@  extern const VMStateInfo vmstate_info_buffer;
     .info       = &(_info),                                          \
     .size       = sizeof(_type),                                     \
     .flags      = VMS_VARRAY_INT32|VMS_POINTER,                      \
-    .offset     = offsetof(_state, _field)                           \
-        + type_check_pointer(_type,typeof_field(_state, _field))     \
+    .offset     = vmstate_offset_pointer(_state, _field, _type),     \
 }

 #define VMSTATE_STRUCT(_field, _state, _version, _vmsd, _type) {     \