diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-04-16 17:09:32 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-04-17 14:15:48 +0300 |
commit | e3f36f586c8f128dd4f696f715640e74d7907bc4 (patch) | |
tree | 159d41355774967ace032fd37a208f4937a69fa7 /src/eir.c | |
parent | 09000e29db2cb1a5021c5f60316ee87e28ec88c9 (diff) | |
download | bluez-e3f36f586c8f128dd4f696f715640e74d7907bc4.tar.gz |
core/eir: Fix service data parsing
The UUID type was not being set correctly.
Diffstat (limited to 'src/eir.c')
-rw-r--r-- | src/eir.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -191,6 +191,7 @@ static void eir_parse_uuid16_data(struct eir_data *eir, const uint8_t *data, if (len < 2 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID16; service.value.uuid16 = get_le16(data); eir_parse_sd(eir, &service, data + 2, len - 2); } @@ -203,6 +204,7 @@ static void eir_parse_uuid32_data(struct eir_data *eir, const uint8_t *data, if (len < 4 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID32; service.value.uuid32 = get_le32(data); eir_parse_sd(eir, &service, data + 4, len - 4); } @@ -216,6 +218,8 @@ static void eir_parse_uuid128_data(struct eir_data *eir, const uint8_t *data, if (len < 16 || len > EIR_SD_MAX_LEN) return; + service.type = SDP_UUID128; + for (k = 0; k < 16; k++) service.value.uuid128.data[k] = data[16 - k - 1]; |