Fix up some types

Type-checking the UEFI calls picked up a couple of problems. Fix them up.
This commit is contained in:
Matthew Garrett 2012-11-01 09:46:51 -04:00
parent 5a8d573fb1
commit ed711b02ec
2 changed files with 6 additions and 5 deletions

View File

@ -1362,7 +1362,7 @@ static INTN find_fs (void *data, void *data2, void *data3) {
EFI_GUID fs_guid = SIMPLE_FILE_SYSTEM_PROTOCOL;
UINTN count, i;
UINTN OldSize, NewSize;
EFI_HANDLE **filesystem_handles;
EFI_HANDLE *filesystem_handles = NULL;
struct menu_item *filesystems;
BOOLEAN hash = !!data3;
@ -1383,7 +1383,7 @@ static INTN find_fs (void *data, void *data2, void *data3) {
filesystems[0].colour = EFI_YELLOW;
for (i=1; i<count; i++) {
EFI_HANDLE *fs = filesystem_handles[i-1];
EFI_HANDLE fs = filesystem_handles[i-1];
EFI_FILE_IO_INTERFACE *fs_interface;
EFI_DEVICE_PATH *path;
EFI_FILE *root;
@ -1394,7 +1394,7 @@ static INTN find_fs (void *data, void *data2, void *data3) {
EFI_GUID file_info_guid = EFI_FILE_INFO_ID;
status = uefi_call_wrapper(BS->HandleProtocol, 3, fs, &fs_guid,
&fs_interface);
(void **)&fs_interface);
if (status != EFI_SUCCESS || !fs_interface)
continue;

5
shim.c
View File

@ -890,7 +890,8 @@ static EFI_STATUS load_image (EFI_LOADED_IMAGE *li, void **data,
device = li->DeviceHandle;
efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, device,
&simple_file_system_protocol, &drive);
&simple_file_system_protocol,
(void **)&drive);
if (efi_status != EFI_SUCCESS) {
Print(L"Failed to find fs\n");
@ -1011,7 +1012,7 @@ EFI_STATUS start_image(EFI_HANDLE image_handle, CHAR16 *ImagePath)
int datasize;
efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, image_handle,
&loaded_image_protocol, &li);
&loaded_image_protocol, (void **)&li);
if (efi_status != EFI_SUCCESS) {
Print(L"Unable to init protocol\n");