chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
split selinux label operations out of cgroup-util, socket-util
[elogind.git]
/
src
/
dbus-common.c
diff --git
a/src/dbus-common.c
b/src/dbus-common.c
index 2905ac3c839b222b085d867dad974fc5c4821c7e..fc97108e9520fe5f99d90cec3da0fd1f8aaba225 100644
(file)
--- a/
src/dbus-common.c
+++ b/
src/dbus-common.c
@@
-402,6
+402,7
@@
get_prop:
const BusProperty *p;
DBusMessageIter sub;
char *sig;
const BusProperty *p;
DBusMessageIter sub;
char *sig;
+ void *data;
if (!dbus_message_iter_init(message, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
if (!dbus_message_iter_init(message, &iter) ||
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
@@
-456,7
+457,10
@@
set_prop:
dbus_free(sig);
dbus_free(sig);
- r = p->set(&sub, property);
+ data = (char*)bp->base + p->offset;
+ if (p->indirect)
+ data = *(void**)data;
+ r = p->set(&sub, property, data);
if (r < 0) {
if (r == -ENOMEM)
goto oom;
if (r < 0) {
if (r == -ENOMEM)
goto oom;