Commit Graph

146 Commits

Author SHA1 Message Date
Jaben Carsey 6bd644638d ShellPkg: pre-verify split commands
This makes sure that all parts of commands split via pipe operation are valid before starting.

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


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15011 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-20 01:13:36 +00:00
Jaben Carsey 12a27a6d81 ShellPkg: API name typo.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15010 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 22:09:17 +00:00
Jaben Carsey 404b3f4394 ShellPkg: fix whitespace character trimming
This makes TrimSpaces() trim tab characters off the end of the string also (not just the beginning).  Also updates loop to prevent buffer underrun.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15009 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 22:03:37 +00:00
Jaben Carsey e3eb7d825a ShellPkg: CTRL-C stops a running script at the same time
This makes CTRL-C stop a running script after trying to stop the command.  And adds comments to describe the behavior more clearly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15008 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 21:55:13 +00:00
Jaben Carsey 806c49db05 ShellPkg: Refactor the RunCommand API
This almost completely splits the RunCommand API into sub-routines.

 - the ProcessCommandLineToFinal API handles replacing the a found alias and any found environment variables.  This will redirect "-?" to "help", if necessary.  Upon return, the command line is complete and finalized.  It may still have redirection in it, and those will get chopped off later (but no further modifications occur).
 - the SetupAndRunCommandOrFile API handles updating and then later restoring StdIn, StdOut, and StdErr (and removing their information from the command line).  It will call into RunCommandOrFile.
 - the RunCommandOrFile API divides the logic to RunInternalCommand, RunScriptFile, or running an .EFI file directly.
 - the RunInternalCommand API handles updating and then restoring Argc and Argv.  It will run the internal command in between.
 - the SetLastError API handles updating of the environment variable "lasterror"
 - the DoHelpUpdateArgcArgv was changed to DoHelpUpdate and now works on the raw command line and not the argc/argv.  This allows the processing to be moved earlier.

Note this change has the following positive side effects (this eliminates unnecessary step):
 - Argc/Argv are only updated for internal commands (as they are library based)
 - no Argv/Argc/StdIn/StdOut/StdErr processing is done for file system changes.
 - The ProcessCommandLineToFinal API exists and it's critical to the ability to correctly pre-process split ("|") command lines ahead of time to verify their correctness.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15007 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 16:05:34 +00:00
Shumin Qiu 8dcd84b9d7 Converse the return value from 'int' to 'BOOLEAN' for function ‘ContainsSplit’ in Shell.c.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Ni, Ruiyu <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15006 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-19 02:03:42 +00:00
Jaben Carsey e7831c9070 ShellPkg: Add missing function header comments
I found that some function headers had insufficient/incorrect information.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14998 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-17 22:23:05 +00:00
Shumin Qiu 6f05676ddd Add a new line to initialize the variable “PassThruProtocol” in ConsoleWrapers.c to ensure the initialization not to be a part of its declaration.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14989 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-16 01:53:11 +00:00
Jaben Carsey cc31ac1e40 ShellPkg: add error messages into function
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14986 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-13 23:53:59 +00:00
Jaben Carsey 5a5eb8069c ShellPkg: Refactor updating command line for help use
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14985 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-13 21:58:51 +00:00
Jaben Carsey daf705847f ShellPkg: Refactor change to current file system
This moves the initialization for handling file system changes into a separate function.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14983 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-13 18:45:43 +00:00
Jaben Carsey 680db51153 ShellPkg: Refactor Split/Pipe based command lines
This moves the initialization for handling command lines with pipe ‘|’ into a separate function.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14982 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-13 18:18:27 +00:00
Jaben Carsey 6ba2921da3 ShellPkg: add API for determining operation type
There are no callers for this new API yet.  They will be added in the next commits.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14975 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-13 00:13:59 +00:00
Jaben Carsey 1ef61d0390 ShellPkg: Refactor Variable replacement into separate function
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14974 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-12 21:44:23 +00:00
Jaben Carsey ca53c0af00 ShellPkg: Refactor Alias replacement into separate function
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14973 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-12 21:16:38 +00:00
Jaben Carsey ad2bc85412 ShellPkg: refactor out leading and trailing space trimming
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14972 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-12 18:42:18 +00:00
Jaben Carsey 321a8d494f ShellPkg: typo in the last commit.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14971 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-12 17:55:37 +00:00
Jaben Carsey 518c8cdc5c ShellPkg: Refactor out the searching for pipe characters
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14969 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-12 17:27:27 +00:00
Jaben Carsey 19a4497259 ShellPkg: Refactor Pipe handling
This moves some logic for handling command lines with pipe ‘|’ into a separate function.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14958 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-10 18:41:35 +00:00
Shumin Qiu 42f75495f3 Follow Shell specification to make sure the “command.man” file is always used no matter “command.efi -?” or “command -?” is typed.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14947 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-09 02:24:39 +00:00
Jaben Carsey ed8b529782 ShellPkg: Unregister all registrations
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14925 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-02 19:27:45 +00:00
Chris Phillips 416a423f08 ShellPkg: Remove trailing \r\n when redirect to env variable (EX: use ">v")
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@14891 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-22 21:15:19 +00:00
Jaben Carsey d233c12291 ShellPkg: Fix help MAN file searching
Make sure that “help App” and “help App.EFI” work the same by removing “.efi” (case insensitive) from the end of the string before searching for MAN file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14853 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-15 20:21:34 +00:00
Chris Phillips 13acebbdef 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
2013-11-15 18:41:50 +00:00
Jaben Carsey 6813ba402a ShellPkg: verify that leading and trailing % are removed from variable names when doing command line redirection to an environment variable.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14849 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-15 18:39:26 +00:00
Chris Phillips 5b5cd144f3 ShellPkg: Properly set lasterror environment variable
- Set lasterror value based on platform width
- Use “lasterror” rather than “Lasterror” for variable name to match Shell Specification
- Set lasterror value when a binary or script file is not found

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@14816 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-29 16:30:25 +00:00
Chris Phillips dcf9b428e6 ShellPkg: Fixes the shell so output redirection works for the 'mode' command
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@14800 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-24 17:47:57 +00:00
Chris Phillips 85a3fa3ad7 ShellPkg: Stop running command when page break quit
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@14799 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-24 17:29:33 +00:00
Eric Dong 2c5a8aed24 ShellPkg: Fix copy load option error.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14795 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-22 01:14:54 +00:00
Chris Phillips 284e034f4f ShellPkg: Fixes for shell application launch, argument handling, and version output:
- Fixes shell application launch version output to match ‘ver’ command, as specified by the UEFI Shell spec.
- Adds PcdShellSupplier for <shell-supplier-specific-data> line of version output.  Defaulted to “EDK II”.
- Display only 1 startup.nsh countdown line per second instead of 10 per second.
- Fix issue where command line is just 1 or more “ “ characters and displayed garbage.
- Fix for @echo –off and @echo –on to not restore echo state

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@14784 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-18 15:49:23 +00:00
Eric Dong a71003f249 Refine the select language logic.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14629 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-05 03:02:14 +00:00
Robert Matthews ed34da4007 ShellPkg: Fix LastError environment variable truncation
-Fixes LastError environment variable being truncated to 32 bits on 64 bit systems
-Fixes possible buffer overrun issue with LastError string value

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Robert Matthews <robert.matthews@hp.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14608 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-28 14:38:13 +00:00
Jaben Carsey df07baea2f ShellPkg: update behavior with undefined environment variables
Undefined environment variables are now removed during script execution.
Excepted environment variables are now correctly un-excepted right before processing continues

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
reviewed-by: Matthews, Robert <Robert.Matthews@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14585 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 18:11:23 +00:00
Ruiyu Ni e3df6949e7 Fix GCC build failure.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14519 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-30 06:41:43 +00:00
Ruiyu Ni 863986b3c8 Update all the code to consume the ConvertDevicePathToText, ConvertDevicePathNodeToText, ConvertTextToDevicePath and ConvertTextToDeviceNode APIs in DevicePathLib.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14505 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-26 03:14:08 +00:00
jaben carsey ca79c79821 ShellPkg: make automatically created shells quit automatically
This creates a new parameter to this shell implementation “_exit” that causes the shell to automatically exit after running the initial specified command line.  This also automatically uses that command in the Execute() API.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jaben carsey <jaben.carsey@intel.com>
Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14444 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-27 16:11:39 +00:00
jcarsey 28981267c5 ShellPkg: Fix ARM build errors.
submitted-by: Olivier Martin olivier.martin@arm.com>
reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14400 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-11 22:07:03 +00:00
jcarsey e755a4ca10 ShellPkg: Fixed build error 'variable set but not used'
GCC toolchain cannot build ShellPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14326 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-07 17:57:58 +00:00
jcarsey e886b675bd ShellPkg: Fix pointer initialization error of “ShellOpt” Shell environment variable
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud elhaj@hp.com 
Reviewed-by: jaben carsey <jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14064 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-17 19:04:36 +00:00
jcarsey 73b5f8bcee ShellPkg: Remove “2.0” prefix text from shell prompt.
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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13982 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-03 16:40:55 +00:00
jcarsey 926704714e ShellPkg: Fix line responsible for deleting “cwd” variable when exit shell.
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://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13943 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-14 23:43:33 +00:00
jcarsey 0406a5717b ShellPkg: Clean up header file usage.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13939 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-13 22:39:09 +00:00
jcarsey 3f869579a4 ShellPkg: Correct 3 places where memory was not being properly released by the shell.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed-by: Liu, Jiang A <jiang.a.liu@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13938 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-13 16:08:52 +00:00
lzeng14 ce68d3bc68 Add missing braces around initializer.
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Qian Ouyang <qian.ouyang@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13817 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-11 02:15:23 +00:00
ydong10 81634bfb53 Fix display color error when scroll up/down the screen.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13705 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-07 01:54:47 +00:00
ydong10 4ccd9214a4 Update the "ConErr" related variable name to the new one "ErrOut".
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13641 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-17 03:58:17 +00:00
ydong10 1df5c64cf3 Fix a width count error in ClearScreen function.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13596 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-07 00:47:06 +00:00
niruiyu 402e4a9d77 Change the type of NotifyHandle from EFI_HANDLE to VOID * for SimpleTextInEx protocol.
Clean up the code to remove unnecessary NotifyHandle in the private data structure.

Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Elvin Li<elvin.li@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13565 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-30 03:50:42 +00:00
ydong10 c6a7fef8ea Add logic to check the execution break flag before executing the next command in a script file.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben carsey <Jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13547 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-23 03:17:09 +00:00
jcarsey 41cf3e458b ShellPkg: Enable Ctrl-C characters to be processed over serial interfaces that do not pass control key modifiers (like SimpleTextInOutSerial)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen eugene@hp.com
reviewed-by: Jaben Carsey jaben.carsey@intel.com

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13349 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-22 22:16:37 +00:00
ydong10 64c7a74917 Enable print error info when execute the application.
Signed-off-by: Eric Dong  <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13224 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-27 01:47:35 +00:00
jcarsey 5559a41aad ShellPkg: hide flashing cursor during startup.
signed-off-by: jaben carsey <jaben.carsey@intel.com>
reviewed-by: erik bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13207 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-23 18:00:41 +00:00
jcarsey 5513af68ed ShellPkg: removed memory leak.
removed unnecessary GetVariable call.

signed-off-by: jaben carsey <jaben.carsey@intel.com>
reviewed-by: erik bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13206 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-23 17:58:15 +00:00
jcarsey 74fa83fda6 ShellPkg: fix 'ls' handling of empty drives where there is not even an "." or ".." directory.
Signed-off-by: jcarsey
Reviewed-by: winddy_zhang@byosoft.com.cn

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12981 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-02 16:55:30 +00:00
jcarsey f9aefb6a06 ShellPkg: fix redirection file parsing to allow spaces before filename.
signed-off-by: jcarsey
reviewed-by: darylm503

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12962 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-27 20:51:14 +00:00
jcarsey ecfd71af17 ShellPkg: Fix SimpleTextInputEx based "CTRL-S" by emptying the buffer to prevent immediate release of the pause.
signed-off-by: jcarsey
reviewed-by: leegrosenbaum

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12944 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-19 18:18:12 +00:00
jcarsey 1921657354 ShellPkg: fix Pipe usage verification.
Add checks for nothing before or nothing after the pipe and output an error when pipe usage fails.

signed-off-by: jcarsey
reviewed-by: leegrosenbaum

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12903 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-02 18:07:13 +00:00
jcarsey 0d11446d51 ShellPkg: Updates the printing of echo for script commands to after the @ checking.
The add and remove are really a move of the code block from before the @ parsing into the else block.

Signed-off-by: jcarsey
Reviewed-by: leegrosenbaum

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12741 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-18 18:58:25 +00:00
jcarsey 031acf6336 Shellpkg: Add support for filenames with spaces.
This patch changes the file redirection support to allow for quote delimited filenames that contain spaces and updates the edit command to allow spaces in the filename.  This also properly fails for attempts to redirect to "" (empty quotes).

This was missing from the first portion of the commit.

signed-off-by: jcarsey
reviewed-by: jliu66



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12686 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-11 16:52:09 +00:00
ydong10 96962f0ae4 Fix a typo when check the return value
Signed-off-by: ydong10
Reviewed-by: jcarsey

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12556 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-22 04:10:30 +00:00
jcarsey c8c2259156 ShellPkg: Add checking for memory allocation and pointer returns from functions.
signed-off-by: jcarsey
reviewed-by: lgrosenb

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12542 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-17 17:49:21 +00:00
jcarsey 532691c8ba ShellPkg: Add checking for memory allocation and pointer returns from functions.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12540 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-14 19:21:13 +00:00
jcarsey cf6a8f1453 ShellPkg: Set CRC value whenever changing a system table.
This adds a function (from DxeMain.c) that calculates and sets a CRC into a system table header and then calls the function in the 2 places where the shell changes the system table.

signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12536 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-13 23:05:08 +00:00
jcarsey ecae51177e ShellPkg: Add checks for NULL pointers.
This adds lots of pointer verification with ASSERTs only used when the condition should be impossible and never for memory allocation.

signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12523 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-10 20:32:17 +00:00
jcarsey 7929788a24 ShellPkg: Update revision info.
signed-off-by: jcarsey

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12358 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-15 22:24:09 +00:00
jcarsey f9125972ae ShellPkg: Fix concatenation on full device paths.
submitted-by: jcarsey
reviewed-by:  geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12357 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-15 20:18:58 +00:00
jcarsey b6b22b132a ShellPkg: Eliminate loss of high bits in return value from exit command on 64 bit platform.
submitted-by: jcarsey
reviewed-by:  gookboy15a
reviewed-by:  niruiyu

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12356 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-15 20:10:39 +00:00
ydong10 4ff7e37b4f Refine comments and two code style.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12263 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-02 08:05:34 +00:00
jcarsey 848997b59a This adds support for @ prefixed commands in script files.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12113 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-09 16:33:58 +00:00
jcarsey ab94587a7d This refactors 3 functions out of ShellCommandLib and puts them into a new library (but as 2 functions instead of 3). This allows for users outside of the shell itself to have access to these functions.
1) Remove the 3 functions out of the shell's internal library (ShellCommandLib)
2) Add a new library class (PathLib)
3) Add an instance of this class (BasePathLib)
4) Change all internal shell callers to use this new library class.

signed-off-by: jcarsey
reviewed-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11936 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-30 22:58:53 +00:00
jcarsey ad7782a47e maintain output attributes.
signed-off-by: jcarsey
reviewed-by: lgrosenb

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11898 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-27 20:29:23 +00:00
jcarsey a9ca068447 restore original information when redirection fails inside a command using the split operator (|).
Signed-off-by: jcarsey
Reviewed-by: darylm503


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11831 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 22:25:14 +00:00
jcarsey ae69c04736 Verify that Status variable is initialized.
submitted-by: jcarsey
reviewed-by: lgrosenb
reviewed-by: rhale

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11752 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 15:51:26 +00:00
andrewfish a7a394a483 Make shell not ASSERT on older versions of EFI. On a Mac if you soft load Hii, DevicePathToText, and ComponentName drivers from edk2, then with this patch the new Shell will run.
Reviewed by: jcarsey



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11719 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-01 02:27:02 +00:00
jcarsey a49f6a2f7e fix for word wrapping.
fix for SimpleTextInEx callbacks.
remove an ASSERT.
fix for -noconsolein parameter.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11544 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-15 18:20:40 +00:00
jcarsey 10ad7974fe fix misspelling.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11536 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-13 23:35:16 +00:00
jcarsey d8f8021cbe ShellParametersProtocol - remove parsing from within quoted parameters.
Pci - Add missing enumeration in switch statement.
For - Verify parameter before dereferencing.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11511 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-07 17:12:12 +00:00
jcarsey a1d4bfcc3f add comments to function declarations and definitions and updated to match coding style document.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11505 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-05 20:55:45 +00:00
jcarsey ae724571be Comment's added and fixed.
Pointer's checked for NULL before access and after memory allocations.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11499 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-01 22:16:01 +00:00
jcarsey 5f2915f593 fix initialization of pointer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11498 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-01 16:11:59 +00:00
jcarsey 0c956e0ddb didn't mean to remove this comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11461 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-30 21:05:25 +00:00
jcarsey fb84495a78 remove redirection command line updating from the shell core code.
add redirection command line updating to the redirection support function (UpdateStdInStdOutStdErr).
add more user input verification to redirection.

reduce user input verification from inside quoted parameters.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11460 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-30 21:04:57 +00:00
jcarsey 33c031ee20 pointer verification (not NULL) and buffer overrun fixes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11459 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-30 19:33:03 +00:00
ydong10 4bcb7fe768 Update inf file to follow spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11454 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-30 03:40:42 +00:00
jcarsey e35b531794 prevents "" from being the result of trying to open the root of a drive.
more input validation on vol command.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11444 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-28 21:49:17 +00:00
jcarsey 733f138d84 console logger - support disabling the console out.
console wrapper - comment fixes.
file handle wrappers - allow for creation of layers of file interfaces to automatically convert ASCII to UCS-2.
shell - add CTRL-S support and change how searching for startup.nsh.
shellenvvar - zero the memory allocations.
shall man parser - input verification on the help text.
shellparameters protocol - input redirection verification enhanced, leave ^ behind when not used.
shell protocol - remove ASSERTs, fixed GetDeviceName, allow mapping of BlockIO devices, and enhanced key monitoring for CTRL-S (now CTRL-S and CTRL-C).

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11440 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-25 22:23:05 +00:00
jcarsey c154b99708 fixes for NULL verification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11125 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-06 18:10:34 +00:00
jcarsey 5f88eebe2b fix for exit was specified in the startup script.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11114 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-01 20:31:45 +00:00
jcarsey f50204289c fix unaligned device path node access.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11089 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-24 16:12:11 +00:00
jcarsey 8be0ba36fc fixes for IPF, CTRL-C support, and file redirection.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11066 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-16 22:31:47 +00:00
jcarsey 3c865f2064 1) Removing ASSERTs for proper return values.
2) Verifying that memory allocations were successful.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10904 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-04 16:24:30 +00:00
jljusten e97233217e ShellPkg: Fix several GCC compiler warnings
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10890 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-17 20:09:48 +00:00
jljusten 8d095e78c6 ShellPkg: Fix path issues for Linux build support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10887 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-17 20:08:20 +00:00
jljusten 8d0eff6317 ShellPkg: Remove unnecessary package dependencies
Remove unnecessary references to IntelFrameworkPkg and
IntelFrameworkModulePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10886 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-17 20:07:42 +00:00
hhtian fbec9c0f1c copyright format update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10875 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-14 12:22:42 +00:00
jcarsey a405b86d27 udk2010.up2.shell initial release.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10874 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-14 05:18:09 +00:00