Fix gcc warning

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9765 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
AJFISH 2010-01-15 00:01:20 +00:00
parent e643315bae
commit 42db19acc1
1 changed files with 33 additions and 31 deletions

View File

@ -280,37 +280,39 @@ PeCoffLoaderGetPdbPointer (
@return Size of PE/COFF header in bytes or zero if not a valid iamge. @return Size of PE/COFF header in bytes or zero if not a valid iamge.
**/ **/
UINT32 UINT32
EFIAPI EFIAPI
PeCoffGetSizeOfHeaders ( PeCoffGetSizeOfHeaders (
IN VOID *Pe32Data IN VOID *Pe32Data
) )
{ {
EFI_IMAGE_DOS_HEADER *DosHdr; EFI_IMAGE_DOS_HEADER *DosHdr;
EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION Hdr; EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION Hdr;
UINTN SizeOfHeaders; UINTN SizeOfHeaders;
ASSERT (Pe32Data != NULL); ASSERT (Pe32Data != NULL);
DosHdr = (EFI_IMAGE_DOS_HEADER *)Pe32Data; DosHdr = (EFI_IMAGE_DOS_HEADER *)Pe32Data;
if (DosHdr->e_magic == EFI_IMAGE_DOS_SIGNATURE) { if (DosHdr->e_magic == EFI_IMAGE_DOS_SIGNATURE) {
// //
// DOS image header is present, so read the PE header after the DOS image header. // DOS image header is present, so read the PE header after the DOS image header.
// //
Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff)); Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN) Pe32Data + (UINTN) ((DosHdr->e_lfanew) & 0x0ffff));
} else { } else {
// //
// DOS image header is not present, so PE header is at the image base. // DOS image header is not present, so PE header is at the image base.
// //
Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data; Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
} }
if (Hdr.Te->Signature == EFI_TE_IMAGE_HEADER_SIGNATURE) { if (Hdr.Te->Signature == EFI_TE_IMAGE_HEADER_SIGNATURE) {
SizeOfHeaders = sizeof (EFI_TE_IMAGE_HEADER) + (UINTN)Hdr.Te->BaseOfCode - (UINTN)Hdr.Te->StrippedSize; SizeOfHeaders = sizeof (EFI_TE_IMAGE_HEADER) + (UINTN)Hdr.Te->BaseOfCode - (UINTN)Hdr.Te->StrippedSize;
} else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) { } else if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) {
SizeOfHeaders = Hdr.Pe32->OptionalHeader.SizeOfHeaders; SizeOfHeaders = Hdr.Pe32->OptionalHeader.SizeOfHeaders;
} } else {
SizeOfHeaders = 0;
return SizeOfHeaders; }
return SizeOfHeaders;
} }