BaseTools/DevicePath: fix GCC build error in print_mem(), and clean it up

Currently "BaseTools/Source/C/DevicePath/DevicePath.c" fails to build with
GCC48:

> DevicePath.c: In function 'print_mem':
> DevicePath.c:109:5: error: 'for' loop initial declarations are only
> allowed in C99 mode
>      for (size_t i=0; i<n; i++) {
>      ^
> DevicePath.c:109:5: note: use option -std=c99 or -std=gnu99 to compile
> your code

In addition, the print_mem() function does not conform to the edk2 coding
style:

- we use CamelCase and no underscores in identifiers,
- the types and type qualifiers should follow the edk2 style,
- initialization as part of definition is forbidden for local variables.

Clean these up.

While updating the print_mem()/PrintMem() call sites, also remove the
superfluous parentheses around the second argument.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Fixes: 7dbc50bd24
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
Laszlo Ersek 2018-01-03 01:16:36 +08:00 committed by Yonghong Zhu
parent beacbc7492
commit 9a6b445bc2
1 changed files with 14 additions and 6 deletions

View File

@ -103,11 +103,19 @@ Returns:
}
void print_mem(void const *vp, size_t n)
STATIC
VOID
PrintMem (
CONST VOID *Buffer,
UINTN Count
)
{
unsigned char const *p = vp;
for (size_t i=0; i<n; i++) {
printf("0x%02x ", p[i]);
CONST UINT8 *Bytes;
UINTN Idx;
Bytes = Buffer;
for (Idx = 0; Idx < Count; Idx++) {
printf("0x%02x ", Bytes[Idx]);
}
}
@ -177,10 +185,10 @@ int main(int argc, CHAR8 *argv[])
DevicePath = UefiDevicePathLibConvertTextToDevicePath(Str16);
while (!((DevicePath->Type == END_DEVICE_PATH_TYPE) && (DevicePath->SubType == END_ENTIRE_DEVICE_PATH_SUBTYPE)) )
{
print_mem(DevicePath, (DevicePath->Length[0] | DevicePath->Length[1] << 8));
PrintMem (DevicePath, DevicePath->Length[0] | DevicePath->Length[1] << 8);
DevicePath = (EFI_DEVICE_PATH_PROTOCOL *)((UINT8 *)DevicePath + (DevicePath->Length[0] | DevicePath->Length[1] << 8));
}
print_mem(DevicePath, (DevicePath->Length[0] | DevicePath->Length[1] << 8));
PrintMem (DevicePath, DevicePath->Length[0] | DevicePath->Length[1] << 8);
putchar('\n');
return STATUS_SUCCESS;
}