summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
diff options
context:
space:
mode:
authorHao Wu <hao.a.wu@intel.com>2017-05-27 10:22:33 +0800
committerHao Wu <hao.a.wu@intel.com>2017-05-31 10:28:41 +0800
commit4fc8277133fb011d028b4e0a42444ab6f552d0b9 (patch)
tree687967eb1348c7b56709d20e39b4171871abde7b /MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
parentb9036ebee9ddaf26afc9fbe3236c3d03f83c1b0a (diff)
downloadedk2-4fc8277133fb011d028b4e0a42444ab6f552d0b9.tar.gz
edk2-4fc8277133fb011d028b4e0a42444ab6f552d0b9.tar.bz2
edk2-4fc8277133fb011d028b4e0a42444ab6f552d0b9.zip
MdePkg/DevicePathLib: Reverse the byte order of BD_ADDR for Bluetooth
For the following two functions: DevPathFromTextBluetooth() DevPathToTextBluetooth() The Bluetooth device address "UINT8 Address[6]" is displayed with the order from Address[5] to Address[0]. This commit reverses the order. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Diffstat (limited to 'MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c')
-rw-r--r--MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c37
1 files changed, 11 insertions, 26 deletions
diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c b/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
index 4322b6c0f2..187c1cc4dc 100644
--- a/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
+++ b/MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
@@ -2635,35 +2635,20 @@ DevPathFromTextBluetooth (
)
{
CHAR16 *BluetoothStr;
- CHAR16 *Walker;
- CHAR16 *TempNumBuffer;
- UINTN TempBufferSize;
- INT32 Index;
BLUETOOTH_DEVICE_PATH *BluetoothDp;
BluetoothStr = GetNextParamStr (&TextDeviceNode);
- BluetoothDp = (BLUETOOTH_DEVICE_PATH *) CreateDeviceNode (
- MESSAGING_DEVICE_PATH,
- MSG_BLUETOOTH_DP,
- (UINT16) sizeof (BLUETOOTH_DEVICE_PATH)
- );
-
- Index = sizeof (BLUETOOTH_ADDRESS) - 1;
- Walker = BluetoothStr;
- while (!IS_NULL(*Walker) && Index >= 0) {
- TempBufferSize = 2 * sizeof(CHAR16) + StrSize(L"0x");
- TempNumBuffer = AllocateZeroPool (TempBufferSize);
- if (TempNumBuffer == NULL) {
- break;
- }
- StrCpyS (TempNumBuffer, TempBufferSize / sizeof (CHAR16), L"0x");
- StrnCatS (TempNumBuffer, TempBufferSize / sizeof (CHAR16), Walker, 2);
- BluetoothDp->BD_ADDR.Address[Index] = (UINT8)Strtoi (TempNumBuffer);
- FreePool (TempNumBuffer);
- Walker += 2;
- Index--;
- }
-
+ BluetoothDp = (BLUETOOTH_DEVICE_PATH *) CreateDeviceNode (
+ MESSAGING_DEVICE_PATH,
+ MSG_BLUETOOTH_DP,
+ (UINT16) sizeof (BLUETOOTH_DEVICE_PATH)
+ );
+ StrHexToBytes (
+ BluetoothStr,
+ sizeof (BLUETOOTH_ADDRESS) * 2,
+ BluetoothDp->BD_ADDR.Address,
+ sizeof (BLUETOOTH_ADDRESS)
+ );
return (EFI_DEVICE_PATH_PROTOCOL *) BluetoothDp;
}