ShellPkg: Skip leading tabs when processing command line and scripts

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14850 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Chris Phillips 2013-11-15 18:41:50 +00:00 committed by jcarsey
parent 6813ba402a
commit 13acebbdef
3 changed files with 15 additions and 5 deletions

View File

@ -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]));
}

View File

@ -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.<BR>
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

View File

@ -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.<BR>
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" ");