Reviewed-by: Jaben Carsey <[email protected]>

> -----Original Message-----
> From: Qiu, Shumin
> Sent: Tuesday, January 5, 2016 12:33 AM
> To: [email protected]
> Cc: Qiu, Shumin <[email protected]>; Carsey, Jaben
> <[email protected]>
> Subject: [PATCH] ShellPkg: Make 'alias' can display a single alias name.
> Importance: High
> 
> When we run command "alias cat" Shell print out "alias: Too few arguments".
> This patch makes value of single alias name can be displayed.
> 
> Cc: Jaben Carsey <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Qiu Shumin <[email protected]>
> ---
>  ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c | 19 ++++++++++++++++-
> --
>  1 file changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> index 1161746..bcd14c8 100644
> --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Alias.c
> @@ -2,7 +2,7 @@
>    Main file for Alias shell level 3 function.
> 
>    (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
> -  Copyright (c) 2009 - 2014, 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 @@ -92,6 +92,8 @@ ShellCommandRunAlias (
>    CONST CHAR16        *Param1;
>    CONST CHAR16        *Param2;
>    CHAR16              *CleanParam2;
> +  CONST CHAR16        *ConstAliasVal;
> +  BOOLEAN             Volatile;
> 
>    ProblemParam        = NULL;
>    ShellStatus         = SHELL_SUCCESS;
> @@ -165,8 +167,19 @@ ShellCommandRunAlias (
>          }
>        }
>      } else if (ShellCommandLineGetCount(Package) == 2) {
> -      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW),
> gShellLevel3HiiHandle, L"alias");
> -      ShellStatus = SHELL_INVALID_PARAMETER;
> +      //
> +      // print out a single alias
> +      //
> +      ConstAliasVal = gEfiShellProtocol->GetAlias(Param1, &Volatile);
> +      if (ConstAliasVal == NULL) {
> +        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
> gShellLevel3HiiHandle, L"alias", Param1);
> +        ShellStatus = SHELL_INVALID_PARAMETER;
> +      } else {
> +        if (ShellCommandIsOnAliasList(Param1)) {
> +          Volatile = FALSE;
> +        }
> +        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_ALIAS_OUTPUT),
> gShellLevel3HiiHandle, !Volatile?L' ':L'*', Param1, ConstAliasVal);
> +      }
>      } else {
>        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY),
> gShellLevel3HiiHandle, L"alias");
>        ShellStatus = SHELL_INVALID_PARAMETER;
> --
> 1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to