ShellPkg: Prevent "set" command from updating %lasterror%

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.Carsey@intel.com>
reviewed-by: Laurie Jarlstrom <laurie.jarlstrom@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15219 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Manually parse parameters

We can't use ShellCommandLineParse as it would error out when the shell was
called with args like "cp -r foo bar", because "-r" is not a recognised shell
option

A different way to avoid some of this manual parsing would be to prepend '^' to
each argument, but that would still require the degree of parsing necessary to work
out which words are part of the command and which are shell options.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15220 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Fixed Memory leak in UefiMain()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15221 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Error out when ProcessCommandLine fails

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15222 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Make Argv[0] the full file path of the command

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15223 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: InternalShellExecuteDevicePath: avoid memory leaks

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman <Brendan.Jackman@arm.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15224 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Fix uninitialized Variable error

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: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15225 6f19259b-4bc3-4df7-8a09-765794883524
ShellPkg: Fix changing to file system with 2 colons like "fs0::"

first colon must be last character in the string.

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: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15226 6f19259b-4bc3-4df7-8a09-765794883524
Add code to check whether the pointer 'PathForReturn' in ShellProtocol.c is NULL before used.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15230 6f19259b-4bc3-4df7-8a09-765794883524
Add code to check the return status for ShellReadFile and ShellWriteFile when execute the 'cp' command.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/ShellPkg@15231 6f19259b-4bc3-4df7-8a09-765794883524