The more proper place for macro SHELL_FREE_NON_NULL is ShellLib.h instead of ShellBase.h.
Modify Compress.c to resolve build failure due to this change. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> Reviewed-by: Jaben Carsey <jaben.car...@intel.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> --- ShellPkg/Include/Library/ShellLib.h | 10 +++++++++- ShellPkg/Include/ShellBase.h | 10 +--------- ShellPkg/Library/UefiShellDebug1CommandsLib/Compress.c | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ShellPkg/Include/Library/ShellLib.h b/ShellPkg/Include/Library/ShellLib.h index fe4b9cf..fafa041 100644 --- a/ShellPkg/Include/Library/ShellLib.h +++ b/ShellPkg/Include/Library/ShellLib.h @@ -1,7 +1,7 @@ /** @file Provides interface to shell functionality for shell commands and applications. - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2006 - 2016, 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 @@ -24,6 +24,14 @@ #include <Protocol/EfiShell.h> #include <Protocol/EfiShellParameters.h> +#define SHELL_FREE_NON_NULL(Pointer) \ + do { \ + if ((Pointer) != NULL) { \ + FreePool((Pointer)); \ + (Pointer) = NULL; \ + } \ + } while(FALSE) + // (20 * (6+5+2))+1) unicode characters from EFI FAT spec (doubled for bytes) #define MAX_FILE_NAME_LEN 512 diff --git a/ShellPkg/Include/ShellBase.h b/ShellPkg/Include/ShellBase.h index 09f87b4..4b7a3d1 100644 --- a/ShellPkg/Include/ShellBase.h +++ b/ShellPkg/Include/ShellBase.h @@ -1,7 +1,7 @@ /** @file Root include file for Shell Package modules that utilize the SHELL_RETURN type - Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2009 - 2016, 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 @@ -17,14 +17,6 @@ typedef VOID *SHELL_FILE_HANDLE; -#define SHELL_FREE_NON_NULL(Pointer) \ - do { \ - if ((Pointer) != NULL) { \ - FreePool((Pointer)); \ - (Pointer) = NULL; \ - } \ - } while(FALSE) - typedef enum { /// /// The operation completed successfully. diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Compress.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/Compress.c index dda2fed..da8e647 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Compress.c +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Compress.c @@ -7,7 +7,7 @@ This sequence is further divided into Blocks and Huffman codings are applied to each Block. - Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2007 - 2016, 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 @@ -17,12 +17,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ - +#include <Uefi.h> +#include <ShellBase.h> #include <Library/MemoryAllocationLib.h> #include <Library/BaseMemoryLib.h> #include <Library/DebugLib.h> -#include <ShellBase.h> -#include <Uefi.h> +#include <Library/ShellLib.h> // // Macro Definitions -- 2.9.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel