--- hal-0.5.6/hald/hald_dbus.c 2006-01-12 18:24:10.000000000 -0800 +++ hal-0.5.6/hald/hald_dbus.c 2006-02-01 11:39:48.000000000 -0800 @@ -1540,7 +1541,6 @@ { dbus_bool_t rc; const char *udi; - const char *caps; char *capability; HalDevice *d; DBusMessage *reply; @@ -1572,23 +1572,7 @@ if (reply == NULL) DIE (("No memory")); - rc = FALSE; - caps = hal_device_property_get_string (d, "info.capabilities"); - if (caps != NULL) { - char **capsv, **iter; - - capsv = g_strsplit (caps, " ", 0); - for (iter = capsv; *iter != NULL; iter++) { - if (strcmp (*iter, capability) == 0) { - rc = TRUE; - break; - } - } - - g_strfreev (capsv); - } - - dbus_free (capability); + rc = hal_device_has_capability (d, capability); dbus_message_iter_init_append (reply, &iter); dbus_message_iter_append_basic (&iter, DBUS_TYPE_BOOLEAN, &rc);