Bug 1129257 - Use |int32_t| for |Channel| in Bluetooth Socket HAL. r=tzimmermann

This commit is contained in:
Bruce Sun 2015-02-04 17:21:50 +08:00
parent 654e660f32
commit 55be18cd5c
3 changed files with 17 additions and 2 deletions

View File

@ -69,6 +69,18 @@ Convert(int aIn, int16_t& aOut)
return NS_OK;
}
nsresult
Convert(int aIn, int32_t& aOut)
{
if (NS_WARN_IF(aIn < std::numeric_limits<int32_t>::min()) ||
NS_WARN_IF(aIn > std::numeric_limits<int32_t>::max())) {
aOut = 0; // silences compiler warning
return NS_ERROR_ILLEGAL_VALUE;
}
aOut = static_cast<int32_t>(aIn);
return NS_OK;
}
nsresult
Convert(int32_t aIn, BluetoothDeviceType& aOut)
{

View File

@ -148,6 +148,9 @@ Convert(int aIn, uint8_t& aOut);
nsresult
Convert(int aIn, int16_t& aOut);
nsresult
Convert(int aIn, int32_t& aOut);
nsresult
Convert(int32_t aIn, BluetoothDeviceType& aOut);

View File

@ -36,7 +36,7 @@ BluetoothDaemonSocketModule::ListenCmd(BluetoothSocketType aType,
aType,
PackConversion<nsAString, BluetoothServiceName>(aServiceName),
PackArray<uint8_t>(aServiceUuid, 16),
PackConversion<int, uint16_t>(aChannel),
PackConversion<int, int32_t>(aChannel),
SocketFlags(aEncrypt, aAuth), *pdu);
if (NS_FAILED(rv)) {
return rv;
@ -65,7 +65,7 @@ BluetoothDaemonSocketModule::ConnectCmd(const nsAString& aBdAddr,
PackConversion<nsAString, BluetoothAddress>(aBdAddr),
aType,
PackArray<uint8_t>(aUuid, 16),
PackConversion<int, int16_t>(aChannel),
PackConversion<int, int32_t>(aChannel),
SocketFlags(aEncrypt, aAuth), *pdu);
if (NS_FAILED(rv)) {
return rv;