mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
xen/hypfs: make struct hypfs_entry_leaf initializers work with gcc 4.1
gcc 4.1 has problems with static initializers for anonymous unions. Fix this by naming the union in struct hypfs_entry_leaf. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Tested-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
ef716e1dc6
commit
048f82ccd1
2 files changed
+7
-7
No files matched your search
+4
-4
@@ -126,7 +126,7 @@ int hypfs_add_leaf(struct hypfs_entry_dir *parent,
|
||||
{
|
||||
int ret;
|
||||
|
||||
if ( !leaf->content )
|
||||
if ( !leaf->u.content )
|
||||
ret = -EINVAL;
|
||||
else
|
||||
ret = add_entry(parent, &leaf->e);
|
||||
@@ -255,7 +255,7 @@ int hypfs_read_leaf(const struct hypfs_entry *entry,
|
||||
|
||||
l = container_of(entry, const struct hypfs_entry_leaf, e);
|
||||
|
||||
return copy_to_guest(uaddr, l->content, entry->size) ? -EFAULT: 0;
|
||||
return copy_to_guest(uaddr, l->u.content, entry->size) ? -EFAULT: 0;
|
||||
}
|
||||
|
||||
static int hypfs_read(const struct hypfs_entry *entry,
|
||||
@@ -317,7 +317,7 @@ int hypfs_write_leaf(struct hypfs_entry_leaf *leaf,
|
||||
goto out;
|
||||
|
||||
ret = 0;
|
||||
memcpy(leaf->write_ptr, buf, ulen);
|
||||
memcpy(leaf->u.write_ptr, buf, ulen);
|
||||
leaf->e.size = ulen;
|
||||
|
||||
out:
|
||||
@@ -341,7 +341,7 @@ int hypfs_write_bool(struct hypfs_entry_leaf *leaf,
|
||||
if ( copy_from_guest(&buf, uaddr, ulen) )
|
||||
return -EFAULT;
|
||||
|
||||
*(bool *)leaf->write_ptr = buf;
|
||||
*(bool *)leaf->u.write_ptr = buf;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ struct hypfs_entry_leaf {
|
||||
union {
|
||||
const void *content;
|
||||
void *write_ptr;
|
||||
};
|
||||
} u;
|
||||
};
|
||||
|
||||
struct hypfs_entry_dir {
|
||||
@@ -68,7 +68,7 @@ struct hypfs_entry_dir {
|
||||
static inline void hypfs_string_set_reference(struct hypfs_entry_leaf *leaf,
|
||||
const char *str)
|
||||
{
|
||||
leaf->content = str;
|
||||
leaf->u.content = str;
|
||||
leaf->e.size = strlen(str) + 1;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ static inline void hypfs_string_set_reference(struct hypfs_entry_leaf *leaf,
|
||||
.e.max_size = (wr) ? sizeof(contvar) : 0, \
|
||||
.e.read = hypfs_read_leaf, \
|
||||
.e.write = (wr), \
|
||||
.content = &(contvar), \
|
||||
.u.content = &(contvar), \
|
||||
}
|
||||
|
||||
#define HYPFS_UINT_INIT(var, nam, contvar) \
|
||||
|
||||