Diff between d146d07c9a74a3ce62fd3bd152bf9237786d818c and 46a5e190782afe11c84c2e748834dd3fc9c480e5

Changed Files

File Additions Deletions Status
src/sdpd-server.c +2 -1 modified
src/sdpd-service.c +7 -7 modified
src/sdpd.h +2 -1 modified

Full Patch

diff --git a/src/sdpd-server.c b/src/sdpd-server.c
index 30c7ae6..bc96d3c 100644
--- a/src/sdpd-server.c
+++ b/src/sdpd-server.c
@@ -242,7 +242,8 @@ int start_sdp_server(uint16_t mtu, uint32_t flags)
 	}
 
 	if (main_opts.did_source > 0)
-		register_device_id();
+		register_device_id(main_opts.did_source, main_opts.did_vendor,
+				main_opts.did_product, main_opts.did_version);
 
 	io = g_io_channel_unix_new(l2cap_sock);
 	g_io_channel_set_close_on_unref(io, TRUE);
diff --git a/src/sdpd-service.c b/src/sdpd-service.c
index 0801f43..a7903a8 100644
--- a/src/sdpd-service.c
+++ b/src/sdpd-service.c
@@ -172,7 +172,8 @@ void register_server_service(void)
 	update_db_timestamp();
 }
 
-void register_device_id(void)
+void register_device_id(uint16_t source, uint16_t vendor,
+					uint16_t product, uint16_t version)
 {
 	const uint16_t spec = 0x0103;
 	const uint8_t primary = 1;
@@ -184,8 +185,7 @@ void register_device_id(void)
 	sdp_record_t *record = sdp_record_alloc();
 
 	info("Adding device id record for %04x:%04x:%04x:%04x",
-				main_opts.did_source, main_opts.did_vendor,
-				main_opts.did_product, main_opts.did_version);
+					source, vendor, product, version);
 
 	record->handle = sdp_next_handle();
 
@@ -212,19 +212,19 @@ void register_device_id(void)
 	spec_data = sdp_data_alloc(SDP_UINT16, &spec);
 	sdp_attr_add(record, 0x0200, spec_data);
 
-	vendor_data = sdp_data_alloc(SDP_UINT16, &main_opts.did_vendor);
+	vendor_data = sdp_data_alloc(SDP_UINT16, &vendor);
 	sdp_attr_add(record, 0x0201, vendor_data);
 
-	product_data = sdp_data_alloc(SDP_UINT16, &main_opts.did_product);
+	product_data = sdp_data_alloc(SDP_UINT16, &product);
 	sdp_attr_add(record, 0x0202, product_data);
 
-	version_data = sdp_data_alloc(SDP_UINT16, &main_opts.did_version);
+	version_data = sdp_data_alloc(SDP_UINT16, &version);
 	sdp_attr_add(record, 0x0203, version_data);
 
 	primary_data = sdp_data_alloc(SDP_BOOL, &primary);
 	sdp_attr_add(record, 0x0204, primary_data);
 
-	source_data = sdp_data_alloc(SDP_UINT16, &main_opts.did_source);
+	source_data = sdp_data_alloc(SDP_UINT16, &source);
 	sdp_attr_add(record, 0x0205, source_data);
 
 	update_db_timestamp();
diff --git a/src/sdpd.h b/src/sdpd.h
index 9a0700b..45417e1 100644
--- a/src/sdpd.h
+++ b/src/sdpd.h
@@ -53,7 +53,8 @@ int service_remove_req(sdp_req_t *req, sdp_buf_t *rsp);
 
 void register_public_browse_group(void);
 void register_server_service(void);
-void register_device_id(void);
+void register_device_id(uint16_t source, uint16_t vendor,
+					uint16_t product, uint16_t version);
 
 int record_sort(const void *r1, const void *r2);
 void sdp_svcdb_reset(void);