--- a/dbus.c 2011-06-15 19:36:22.000000000 +0800
+++ b/dbus.c 2011-09-06 20:01:24.025291940 +0800
@@ -1079,7 +1079,7 @@
}
dbus_message_iter_get_basic(&args, &stat);
{
- dbusobj->introspect_xml_doc = xmlParseMemory((char*) stat, strlen((char*) stat));
+ dbusobj->introspect_xml_doc = xmlParseMemory((char*) stat, strlen(*(char**) &stat));
dbusobj->introspect_xml = php_dbus_find_interface_node(dbusobj->introspect_xml_doc, interface);
}
@@ -1845,7 +1845,7 @@
dbus_instantiate(dbus_ce_dbus_object_path, return_value TSRMLS_CC);
object_pathobj = (php_dbus_object_path_obj*) zend_object_store_get_object(return_value TSRMLS_CC);
dbus_message_iter_get_basic(args, &stat);
- object_pathobj->path = estrdup((char*) stat);
+ object_pathobj->path = estrdup(*(char**) &stat);
}
break;
case 0:
@@ -1860,16 +1860,16 @@
dbus_int64_t stat;
dbus_message_iter_get_basic(args, &stat);
switch (dbus_message_iter_get_arg_type(args)) {
- case DBUS_TYPE_BOOLEAN: RETVAL_BOOL((dbus_bool_t) stat); break;
- case DBUS_TYPE_BYTE: RETVAL_LONG((unsigned char) stat); break;
- case DBUS_TYPE_INT16: RETVAL_LONG((dbus_int16_t) stat); break;
- case DBUS_TYPE_UINT16: RETVAL_LONG((dbus_uint16_t) stat); break;
- case DBUS_TYPE_INT32: RETVAL_LONG((dbus_int32_t) stat); break;
- case DBUS_TYPE_UINT32: RETVAL_LONG((dbus_uint32_t) stat); break;
- case DBUS_TYPE_INT64: RETVAL_LONG((dbus_int64_t) stat); break;
- case DBUS_TYPE_UINT64: RETVAL_LONG((dbus_uint64_t) stat); break;
+ case DBUS_TYPE_BOOLEAN: RETVAL_BOOL(*(dbus_bool_t*) &stat); break;
+ case DBUS_TYPE_BYTE: RETVAL_LONG(*(unsigned char*) &stat); break;
+ case DBUS_TYPE_INT16: RETVAL_LONG(*(dbus_int16_t*) &stat); break;
+ case DBUS_TYPE_UINT16: RETVAL_LONG(*(dbus_uint16_t*) &stat); break;
+ case DBUS_TYPE_INT32: RETVAL_LONG(*(dbus_int32_t*) &stat); break;
+ case DBUS_TYPE_UINT32: RETVAL_LONG(*(dbus_uint32_t*) &stat); break;
+ case DBUS_TYPE_INT64: RETVAL_LONG(*(dbus_int64_t*) &stat); break;
+ case DBUS_TYPE_UINT64: RETVAL_LONG(*(dbus_uint64_t*) &stat); break;
case DBUS_TYPE_STRING:
- RETVAL_STRING((char*) stat, 1);
+ RETVAL_STRING(*(char**) &stat, 1);
break;
}
}