rendered paste bodystatic DBusHandlerResult__dbus_message_handler (DBusConnection *conn, DBusMessage *msg, void *user_data){ DBusMessageIter iter; dbus_message_iter_init (msg, &iter); int strings = 1; char **array = malloc (sizeof (char *)); int n = 0; do { if (dbus_message_iter_get_arg_type (&iter) == DBUS_TYPE_STRING) { if (n >= strings) { strings += 1; array = realloc (strings * sizeof (char *)); } array[n] = malloc ((strlen (dbus_message_iter_get_string (&iter)) + 1) * sizeof (char)); strcpy (array[n], dbus_message_iter_get_string (&iter)); n++; } } while (dbus_message_iter_next (&iter)); free (array); return DBUS_HANDLER_RESULT_HANDLED;}