ArmPlatformPkg/BootMonFs: eliminate deprecated string functions

Get rid of functions that are no longer available when defining
DISABLE_NEW_DEPRECATED_INTERFACES

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
Ard Biesheuvel 2016-10-25 19:14:57 +01:00
parent 48dcef9450
commit a5cd3bb037
3 changed files with 16 additions and 14 deletions

View File

@ -304,7 +304,6 @@ SetFileName (
IN CONST CHAR16 *FileName IN CONST CHAR16 *FileName
) )
{ {
CHAR16 TruncFileName[MAX_NAME_LENGTH];
CHAR8 AsciiFileName[MAX_NAME_LENGTH]; CHAR8 AsciiFileName[MAX_NAME_LENGTH];
BOOTMON_FS_FILE *SameFile; BOOTMON_FS_FILE *SameFile;
@ -314,9 +313,7 @@ SetFileName (
FileName++; FileName++;
} }
StrnCpy (TruncFileName, FileName, MAX_NAME_LENGTH - 1); UnicodeStrToAsciiStrS (FileName, AsciiFileName, MAX_NAME_LENGTH);
TruncFileName[MAX_NAME_LENGTH - 1] = 0;
UnicodeStrToAsciiStr (TruncFileName, AsciiFileName);
if (BootMonGetFileFromAsciiFileName ( if (BootMonGetFileFromAsciiFileName (
File->Instance, File->Instance,
@ -327,7 +324,8 @@ SetFileName (
return EFI_ACCESS_DENIED; return EFI_ACCESS_DENIED;
} else { } else {
// OK, change the filename. // OK, change the filename.
AsciiStrToUnicodeStr (AsciiFileName, File->Info->FileName); AsciiStrToUnicodeStrS (AsciiFileName, File->Info->FileName,
(File->Info->Size - SIZE_OF_EFI_FILE_INFO) / sizeof (CHAR16));
return EFI_SUCCESS; return EFI_SUCCESS;
} }
} }

View File

@ -98,7 +98,8 @@ BootMonGetFileFromAsciiFileName (
{ {
FileEntry = BOOTMON_FS_FILE_FROM_LINK_THIS (Entry); FileEntry = BOOTMON_FS_FILE_FROM_LINK_THIS (Entry);
if (FileEntry->Info != NULL) { if (FileEntry->Info != NULL) {
UnicodeStrToAsciiStr (FileEntry->Info->FileName, OpenFileAsciiFileName); UnicodeStrToAsciiStrS (FileEntry->Info->FileName, OpenFileAsciiFileName,
MAX_NAME_LENGTH);
AsciiFileNameToCompare = OpenFileAsciiFileName; AsciiFileNameToCompare = OpenFileAsciiFileName;
} else { } else {
AsciiFileNameToCompare = FileEntry->HwDescription.Footer.Filename; AsciiFileNameToCompare = FileEntry->HwDescription.Footer.Filename;

View File

@ -101,7 +101,8 @@ WriteFileDescription (
Description->Attributes = 1; Description->Attributes = 1;
Description->BlockStart = FileStart / BlockSize; Description->BlockStart = FileStart / BlockSize;
Description->BlockEnd = Description->BlockStart + (FileSize / BlockSize); Description->BlockEnd = Description->BlockStart + (FileSize / BlockSize);
AsciiStrCpy (Description->Footer.Filename, FileName); AsciiStrCpyS (Description->Footer.Filename,
sizeof Description->Footer.Filename, FileName);
#ifdef MDE_CPU_ARM #ifdef MDE_CPU_ARM
Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET; Description->Footer.Offset = HW_IMAGE_FOOTER_OFFSET;
@ -294,7 +295,7 @@ BootMonFsFlushFile (
DiskIo = Instance->DiskIo; DiskIo = Instance->DiskIo;
BlockSize = Media->BlockSize; BlockSize = Media->BlockSize;
UnicodeStrToAsciiStr (Info->FileName, AsciiFileName); UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, MAX_NAME_LENGTH);
// If the file doesn't exist then find a space for it // If the file doesn't exist then find a space for it
if (File->HwDescription.RegionCount == 0) { if (File->HwDescription.RegionCount == 0) {
@ -513,6 +514,7 @@ BootMonFsOpenFile (
CHAR16 *Separator; CHAR16 *Separator;
CHAR8 *AsciiFileName; CHAR8 *AsciiFileName;
EFI_FILE_INFO *Info; EFI_FILE_INFO *Info;
UINTN AsciiFileNameSize;
if (This == NULL) { if (This == NULL) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
@ -621,15 +623,16 @@ BootMonFsOpenFile (
// //
// BootMonFs interface requires ASCII filenames // BootMonFs interface requires ASCII filenames
// //
AsciiFileName = AllocatePool (StrLen (Path) + 1); AsciiFileNameSize = StrLen (Path) + 1;
if (AsciiFileNameSize > MAX_NAME_LENGTH) {
AsciiFileNameSize = MAX_NAME_LENGTH;
}
AsciiFileName = AllocatePool (AsciiFileNameSize);
if (AsciiFileName == NULL) { if (AsciiFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Error; goto Error;
} }
UnicodeStrToAsciiStr (Path, AsciiFileName); UnicodeStrToAsciiStrS (Path, AsciiFileName, AsciiFileNameSize);
if (AsciiStrSize (AsciiFileName) > MAX_NAME_LENGTH) {
AsciiFileName[MAX_NAME_LENGTH - 1] = '\0';
}
if ((AsciiFileName[0] == '\0') || if ((AsciiFileName[0] == '\0') ||
(AsciiFileName[0] == '.' ) ) { (AsciiFileName[0] == '.' ) ) {
@ -688,7 +691,7 @@ BootMonFsOpenFile (
Info->FileSize = BootMonFsGetImageLength (File); Info->FileSize = BootMonFsGetImageLength (File);
Info->PhysicalSize = BootMonFsGetPhysicalSize (File); Info->PhysicalSize = BootMonFsGetPhysicalSize (File);
AsciiStrToUnicodeStr (AsciiFileName, Info->FileName); AsciiStrToUnicodeStrS (AsciiFileName, Info->FileName, MAX_NAME_LENGTH);
File->Info = Info; File->Info = Info;
Info = NULL; Info = NULL;