summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dbus-common.c6
-rw-r--r--src/sdpd-service.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/src/dbus-common.c b/src/dbus-common.c
index 6c15dea2..5d04b481 100644
--- a/src/dbus-common.c
+++ b/src/dbus-common.c
@@ -300,6 +300,12 @@ void dbus_message_iter_append_dict_entry(DBusMessageIter *dict,
{
DBusMessageIter entry;
+ if (type == DBUS_TYPE_STRING) {
+ const char *str = *((const char **) val);
+ if (str == NULL)
+ return;
+ }
+
dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
NULL, &entry);
diff --git a/src/sdpd-service.c b/src/sdpd-service.c
index cd0b97d0..d0df7022 100644
--- a/src/sdpd-service.c
+++ b/src/sdpd-service.c
@@ -387,6 +387,7 @@ void register_device_id(const uint16_t vendor, const uint16_t product,
int add_record_to_server(const bdaddr_t *src, sdp_record_t *rec)
{
sdp_data_t *data;
+ sdp_list_t *pattern;
if (rec->handle == 0xffffffff) {
rec->handle = sdp_next_handle();
@@ -410,6 +411,16 @@ int add_record_to_server(const bdaddr_t *src, sdp_record_t *rec)
sdp_pattern_add_uuid(rec, &uuid);
}
+ for (pattern = rec->pattern; pattern; pattern = pattern->next) {
+ char uuid[32];
+
+ if (pattern->data == NULL)
+ continue;
+
+ sdp_uuid2strn((uuid_t *) pattern->data, uuid, sizeof(uuid));
+ debug("Record pattern UUID %s", uuid);
+ }
+
update_db_timestamp();
update_svclass_list();