From 46a5e190782afe11c84c2e748834dd3fc9c480e5 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 3 Jan 2013 19:46:10 -0800 Subject: [PATCH] core: Avoid using main_opts structure inside SDP service handling --- src/sdpd-server.c | 3 ++- src/sdpd-service.c | 14 +++++++------- src/sdpd.h | 3 ++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/sdpd-server.c b/src/sdpd-server.c index 30c7ae686..bc96d3c3d 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 0801f4301..a7903a8dd 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 9a0700bbf..45417e151 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); -- 2.47.3