audk/ShellPkg/Library/UefiShellLib/UefiShellLib.inf
Laszlo Ersek 9becf2f075 ShellPkg/UefiShellLib: rebase ShellOpenFileByDevicePath() to UefiLib API
Replace the "old shell method" implementation in
ShellOpenFileByDevicePath() with EfiOpenFileByDevicePath() from UefiLib,
correcting the following issues:

- code duplication between this module and other modules,
- local variable name "EfiSimpleFileSystemProtocol" starting with "Efi"
  prefix,
- bogus "FileHandle = NULL" assignments,
- leaking "Handle1" when the device path type/subtype check or the
  realignment-motivated AllocateCopyPool() fails in the loop.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1008
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2018-08-16 20:02:51 +02:00

71 lines
2.2 KiB
INI

## @file
# Provides interface to shell functionality for shell commands and applications.
#
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
##
[Defines]
INF_VERSION = 0x00010006
BASE_NAME = UefiShellLib
FILE_GUID = 449D0F00-2148-4a43-9836-F10B3980ECF5
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.2
LIBRARY_CLASS = ShellLib|UEFI_APPLICATION UEFI_DRIVER DXE_RUNTIME_DRIVER DXE_DRIVER
CONSTRUCTOR = ShellLibConstructor
DESTRUCTOR = ShellLibDestructor
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources.common]
UefiShellLib.c
UefiShellLib.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
ShellPkg/ShellPkg.dec
[LibraryClasses]
UefiBootServicesTableLib
MemoryAllocationLib
DevicePathLib
BaseLib
BaseMemoryLib
DebugLib
FileHandleLib
PrintLib
UefiLib
HiiLib
SortLib
[Protocols]
gEfiUnicodeCollation2ProtocolGuid ## CONSUMES
# shell 2.0
gEfiShellProtocolGuid ## SOMETIMES_CONSUMES
gEfiShellParametersProtocolGuid ## SOMETIMES_CONSUMES
# 'old' shell
gEfiShellEnvironment2Guid ## SOMETIMES_CONSUMES
gEfiShellInterfaceGuid ## SOMETIMES_CONSUMES
[Guids]
gEfiFileInfoGuid ## SOMETIMES_CONSUMES ## GUID
gEfiShellEnvironment2ExtGuid ## SOMETIMES_CONSUMES ## GUID
[Pcd.common]
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize ## CONSUMES
gEfiShellPkgTokenSpaceGuid.PcdShellPrintBufferSize ## CONSUMES