From: Chris Phillips Date: Fri, 15 Nov 2013 18:41:50 +0000 (+0000) Subject: ShellPkg: Skip leading tabs when processing command line and scripts X-Git-Tag: edk2-stable201903~12107 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=13acebbdefedb58ffd9f8e90ebc740404dcd1726 ShellPkg: Skip leading tabs when processing command line and scripts Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chris Phillips reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14850 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/ShellPkg/Application/Shell/Shell.c b/ShellPkg/Application/Shell/Shell.c index 0ce1665d84..1b52692ece 100644 --- a/ShellPkg/Application/Shell/Shell.c +++ b/ShellPkg/Application/Shell/Shell.c @@ -1415,9 +1415,9 @@ RunCommand( } // - // Remove any spaces at the beginning of the string. + // Remove any spaces and tabs at the beginning of the string. // - while (CleanOriginal[0] == L' ') { + while ((CleanOriginal[0] == L' ') || (CleanOriginal[0] == L'\t')) { CopyMem(CleanOriginal, CleanOriginal+1, StrSize(CleanOriginal) - sizeof(CleanOriginal[0])); } diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/If.c b/ShellPkg/Library/UefiShellLevel1CommandsLib/If.c index f5bc12638b..791b1aed8f 100644 --- a/ShellPkg/Library/UefiShellLevel1CommandsLib/If.c +++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/If.c @@ -1,6 +1,7 @@ /** @file Main file for If and else shell level 1 function. + Copyright (c) 2013, Hewlett-Packard Development Company, L.P. Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -734,7 +735,11 @@ MoveToTagSpecial ( continue; } CommandWalker = CommandName; - while (CommandWalker[0] == L' ') { + + // + // Skip leading spaces and tabs. + // + while ((CommandWalker[0] == L' ') || (CommandWalker[0] == L'\t')) { CommandWalker++; } TempLocation = StrStr(CommandWalker, L" "); @@ -847,7 +852,7 @@ ShellCommandRunIf ( NULL, STRING_TOKEN (STR_SYNTAX_NO_MATCHING), gShellLevel1HiiHandle, - L"EnfIf", + L"EndIf", L"If", CurrentScriptFile!=NULL && CurrentScriptFile->CurrentCommand!=NULL diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c index 6f67f49aea..5dca0629db 100644 --- a/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c +++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c @@ -1,6 +1,7 @@ /** @file Main file for NULL named library for level 1 shell command functions. + Copyright (c) 2013, Hewlett-Packard Development Company, L.P. Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -150,7 +151,11 @@ TestNodeForMove ( } CommandNameWalker = CommandName; - while(CommandNameWalker[0] == L' ') { + + // + // Skip leading spaces and tabs. + // + while ((CommandNameWalker[0] == L' ') || (CommandNameWalker[0] == L'\t')) { CommandNameWalker++; } TempLocation = StrStr(CommandNameWalker, L" ");