Hi Gregely, On Wed, Sep 16, 2009, RISKÓ Gergely wrote: > Diffstat says 58 insertions, 43 deletions, I think the extra 15 lines > really worth that bluez no longer treats the introspection as a very > specific interface. Looks good to me, except for the following (rather minor) issues: > +static void add_interface(struct generic_data *data, const char *name, > + GDBusMethodTable *methods, > + GDBusSignalTable *signals, > + GDBusPropertyTable *properties, > + void *user_data, > + GDBusDestroyFunction destroy) There seems to be mixed tabs & spaces here for indentation. Can you confirm this? We only use tabs for indentation in BlueZ (which I believe is also the usual kernel coding style). > +static gboolean remove_interface(struct generic_data *data, const char *name) > +{ > + struct interface_data *iface; > + > + iface = find_interface(data->interfaces, name); > + if (iface) { > + data->interfaces = g_slist_remove(data->interfaces, iface); > + > + if (iface->destroy) > + iface->destroy(iface->user_data); > + > + g_free(iface->name); > + g_free(iface); > + return TRUE; > + } else > + return FALSE; > +} Marcel usually likes to do this as follows (and I agree with him): iface = find_interface(data->interfaces, name); if (!iface) return FALSE; ...rest of the code... return TRUE; That saves you one level of indentation for most of the function and could be considered also esier to read. With those things fixed I think this is now up to Marcel whether he agrees with the change. In my opinion, even though it increases the total line count it still makes the code look nicer/cleaner since it removes the special casing for the introspection. E.g. one added benefit that wasn't previously mentioned is that now g_dbus_register_interface will correctly return an error if someone tries to register the introspection interface themselves. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html