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

