已合并
fix broadcast manager #10945
wangJE创建于 2025年9月18日
fix broadcast manager #10945
已合并
共 3 个文件变更+11-10
| @@ -82,6 +82,8 @@ static uint16_t BtAdvTypeToSoftbus(uint16_t advType) | |||
| 82 | return BC_DATA_TYPE_SERVICE; | 82 | return BC_DATA_TYPE_SERVICE; |
| 83 | case MANUFACTURE_BC_TYPE: | 83 | case MANUFACTURE_BC_TYPE: |
| 84 | return BC_DATA_TYPE_MANUFACTURER; | 84 | return BC_DATA_TYPE_MANUFACTURER; |
| 85 | + case SERVICE_UUID_BC_TYPE: | ||
| 86 | + return BC_DATA_TYPE_SERVICE_UUID; | ||
| 85 | default: | 87 | default: |
| 86 | return 0x00; | 88 | return 0x00; |
| 87 | } | 89 | } |
| @@ -506,7 +508,7 @@ int32_t ParseScanResult(const uint8_t *advData, uint8_t advLen, SoftBusBcScanRes | |||
| 506 | SOFTBUS_BC_ADAPTER_PARSE_FAIL, DISC_BLE_ADAPTER, "parse local name failed"); | 508 | SOFTBUS_BC_ADAPTER_PARSE_FAIL, DISC_BLE_ADAPTER, "parse local name failed"); |
| 507 | dst->nameTruncated = (type == SHORTENED_LOCAL_NAME_BC_TYPE); | 509 | dst->nameTruncated = (type == SHORTENED_LOCAL_NAME_BC_TYPE); |
| 508 | } else { | 510 | } else { |
| 509 | - if (type != SERVICE_BC_TYPE && type != MANUFACTURE_BC_TYPE && type != SERVICEUUID_BC_TYPE) { | 511 | + if (type != SERVICE_BC_TYPE && type != MANUFACTURE_BC_TYPE && type != SERVICE_UUID_BC_TYPE) { |
| 510 | index += len; | 512 | index += len; |
| 511 | DISC_LOGD(DISC_BLE_ADAPTER, "unsupported type, type=%{public}hhu", type); | 513 | DISC_LOGD(DISC_BLE_ADAPTER, "unsupported type, type=%{public}hhu", type); |
| 512 | continue; | 514 | continue; |
| @@ -760,7 +760,7 @@ static bool CheckServiceIsMatch(const BcScanFilter *filter, const BroadcastPaylo | |||
| 760 | return false; | 760 | return false; |
| 761 | } | 761 | } |
| 762 | if (filter->serviceId != bcData->id) { | 762 | if (filter->serviceId != bcData->id) { |
| 763 | - DISC_LOGD(DISC_BROADCAST, "serviceUuid not match"); | 763 | + DISC_LOGD(DISC_BROADCAST, "serviceId not match"); |
| 764 | return false; | 764 | return false; |
| 765 | } | 765 | } |
| 766 | for (uint32_t i = 0; i < filterLen; i++) { | 766 | for (uint32_t i = 0; i < filterLen; i++) { |
| @@ -1401,7 +1401,7 @@ static int32_t DupData(uint8_t *srcData, uint32_t srcDataLen, uint8_t **outData) | |||
| 1401 | { | 1401 | { |
| 1402 | if (srcData != NULL && srcDataLen > 0) { | 1402 | if (srcData != NULL && srcDataLen > 0) { |
| 1403 | uint8_t *dupData = (uint8_t *)SoftBusCalloc(srcDataLen); | 1403 | uint8_t *dupData = (uint8_t *)SoftBusCalloc(srcDataLen); |
| 1404 | - DISC_CHECK_AND_RETURN_RET_LOGE(srcData != NULL, SOFTBUS_MALLOC_ERR, DISC_BROADCAST, "calloc failed"); | 1404 | + DISC_CHECK_AND_RETURN_RET_LOGE(dupData != NULL, SOFTBUS_MALLOC_ERR, DISC_BROADCAST, "calloc failed"); |
| 1405 | (void)memcpy_s(dupData, srcDataLen, srcData, srcDataLen); | 1405 | (void)memcpy_s(dupData, srcDataLen, srcData, srcDataLen); |
| 1406 | *outData = dupData; | 1406 | *outData = dupData; |
| 1407 | } | 1407 | } |
| @@ -1429,7 +1429,7 @@ static int32_t CopyScanFilterServiceInfo(const BcScanFilter *srcFilter, SoftBusB | |||
| 1429 | 1429 | ||
| 1430 | static int32_t CopyScanFilterServiceUuid(const BcScanFilter *srcFilter, SoftBusBcScanFilter *dstFilter) | 1430 | static int32_t CopyScanFilterServiceUuid(const BcScanFilter *srcFilter, SoftBusBcScanFilter *dstFilter) |
| 1431 | { | 1431 | { |
| 1432 | - dstFilter->serviceId = srcFilter->serviceId; | 1432 | + dstFilter->serviceUuid = srcFilter->serviceUuid; |
| 1433 | dstFilter->serviceUuidMask = srcFilter->serviceUuidMask; | 1433 | dstFilter->serviceUuidMask = srcFilter->serviceUuidMask; |
| 1434 | dstFilter->serviceUuidLength = srcFilter->serviceUuidLength; | 1434 | dstFilter->serviceUuidLength = srcFilter->serviceUuidLength; |
| 1435 | 1435 | ||
| @@ -1450,17 +1450,16 @@ static int32_t CopyScanFilterManufacture(const BcScanFilter *srcFilter, SoftBusB | |||
| 1450 | dstFilter->manufactureId = srcFilter->manufactureId; | 1450 | dstFilter->manufactureId = srcFilter->manufactureId; |
| 1451 | dstFilter->manufactureDataLength = srcFilter->manufactureDataLength; | 1451 | dstFilter->manufactureDataLength = srcFilter->manufactureDataLength; |
| 1452 | 1452 | ||
| 1453 | - int32_t ret = DupData(srcFilter->manufactureData, srcFilter->serviceUuidDataLength, &dstFilter->manufactureData); | 1453 | + int32_t ret = DupData(srcFilter->manufactureData, srcFilter->manufactureDataLength, &dstFilter->manufactureData); |
| 1454 | DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, | 1454 | DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, |
| 1455 | - DISC_BROADCAST, "dup serviceUuidData failed,ret=%{public}d", ret); | 1455 | + DISC_BROADCAST, "dup manufactureData failed,ret=%{public}d", ret); |
| 1456 | 1456 | ||
| 1457 | - ret = DupData(srcFilter->manufactureDataMask, srcFilter->serviceUuidDataLength, &dstFilter->manufactureDataMask); | 1457 | + ret = DupData(srcFilter->manufactureDataMask, srcFilter->manufactureDataLength, &dstFilter->manufactureDataMask); |
| 1458 | DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_BROADCAST, | 1458 | DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_BROADCAST, |
| 1459 | - "dup serviceUuidDataMask failed, ret=%{public}d", ret); | 1459 | + "dup manufactureDataMask failed, ret=%{public}d", ret); |
| 1460 | return SOFTBUS_OK; | 1460 | return SOFTBUS_OK; |
| 1461 | } | 1461 | } |
| 1462 | 1462 | ||
| 1463 | - | ||
| 1464 | static int32_t CopySoftBusBcScanFilter(const BcScanFilter *srcFilter, SoftBusBcScanFilter *dstFilter) | 1463 | static int32_t CopySoftBusBcScanFilter(const BcScanFilter *srcFilter, SoftBusBcScanFilter *dstFilter) |
| 1465 | { | 1464 | { |
| 1466 | DISC_CHECK_AND_RETURN_RET_LOGE(srcFilter != NULL, SOFTBUS_INVALID_PARAM, DISC_BROADCAST, "srcFilter is NULL"); | 1465 | DISC_CHECK_AND_RETURN_RET_LOGE(srcFilter != NULL, SOFTBUS_INVALID_PARAM, DISC_BROADCAST, "srcFilter is NULL"); |
| @@ -65,7 +65,7 @@ extern "C"{ | |||
| 65 | #define LOCAL_NAME_BC_TYPE 0x09 | 65 | #define LOCAL_NAME_BC_TYPE 0x09 |
| 66 | #define SERVICE_BC_TYPE 0x16 | 66 | #define SERVICE_BC_TYPE 0x16 |
| 67 | #define MANUFACTURE_BC_TYPE 0xFF | 67 | #define MANUFACTURE_BC_TYPE 0xFF |
| 68 | -#define SERVICEUUID_BC_TYPE 0x03 | 68 | +#define SERVICE_UUID_BC_TYPE 0x03 |
| 69 | 69 | ||
| 70 | // scan rsp head | 70 | // scan rsp head |
| 71 | #define RSP_HEAD_LEN 4 | 71 | #define RSP_HEAD_LEN 4 |
LGTM