Olivier
All but 0006 look good. I believe that 0006 violates the shell specification.
I do not believe that the nesting is optional. I would support changing the
spec to eliminate the red highlight and then we can leave launching a nested
shell as an implementation choice. I agree that this behavior costs a lot of
memory/overhead.
For 0001,0002,0003,0004, and 0005:
Reviewed-by: Jaben Carsey <jaben.car...@intel.com>
This is the description for the "execute" API from the spec (highlight mine):
This function creates a nested instance of the shell and executes the specified
command (CommandLine) with the specified environment (Environment). Upon
return, the status code returned by the specified command is placed in
StatusCode.
If Environment is NULL, then the current environment is used and all changes
made by the commands executed will be reflected in the current environment. If
the Environment is non-NULL, then the changes made will be discarded.
The CommandLine is executed from the current working directory on the current
device.
From: Olivier Martin [mailto:olivier.mar...@arm.com]
Sent: Wednesday, February 05, 2014 7:27 AM
To: Carsey, Jaben
Cc: edk2-devel@lists.sourceforge.net; Brendan Jackman
Subject: RE: [edk2] [PATCH] Various fixes for the EFI Shell
Importance: High
Dear EFI Shell maintainer,
Please find the following patch set. The 3 first patches are the same as the
patches we sent you last week - including the fixes for the comments you made.
0001-ShellPkg-Shell.c-Error-out-when-ProcessCommandLine-f.patch
This patch fixes EFI Shell command line parsing.
For instance, it did not support this command line: `shell.efi
cp -r foo bar` because '-r' is not a supported argument.
0002-ShellPkg-Shell.c-Manually-parse-parameters.patch
This patch fixes EFI Shell command line parsing.
For instance, it did not support this command line: `shell.efi
cp -r foo bar` because '-r' is not a supported argument.
0003-ShellPkg-ShellProtocol.c-Make-Argv-0-the-full-file-p.patch
ShellPkg/ShellProtocol.c: Make Argv[0] the full file path of the command
Required by the EFI Shell spec
0004-ShellPkg-Shell-Fixed-Memory-leak-in-UefiMain.patch
Fixed Memory leak in UefiMain()
0005-ShelProtocol.c-InternalShellExecuteDevicePath-avoid-.patch
InternalShellExecuteDevicePath: avoid memory leaks
0006-ShellPkg-ShellProtocol.c-Execute-Don-t-load-a-new-im.patch
When the Environment argument to Execute is NULL, we shouldn't
create a child
instance of the shell. It's slow and uses masses of memory. Also it may break
the claim that changes to the shell environment instigated by the Execute()d
command are persistent.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brendan Jackman
<brendan.jack...@arm.com<mailto:brendan.jack...@arm.com>>
Reviewed-by: Olivier Martin
<olivier.mar...@arm.com<mailto:olivier.mar...@arm.com>>
Regards,
Olivier
From: Olivier Martin [mailto:olivier.mar...@arm.com]
Sent: 24 January 2014 19:07
To: 'Carsey, Jaben'
Cc: Brendan Jackman;
edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: [edk2] [PATCH] Various fixes for the EFI Shell
Dear EFI Shell maintainer,
Please find the following fixes for the EFI Shell.
Here is an overview of what the following patchset does. Some commit messages
contain a more detailed description of what they achieve.
0001-ShellPkg-Shell.c-Error-out-when-ProcessCommandLine-f.patch
ShellPkg/Shell.c: Error out when ProcessCommandLine fails
0002-ShellPkg-Shell.c-Manually-parse-parameters.patch
This patch fixes EFI Shell command line parsing.
For instance, it did not support this command line: `shell.efi
cp -r foo bar` because '-r' is not a supported argument.
0003-ShellPkg-Shell-Fix-reporting-of-exit-status-in-Shell.patch
ShellPkg/Shell: Fix reporting of exit status in
ShellProtocol.Execute
The Shell did not report if a command was failing.
0004-ShellPkg-ShellProtocol.c-Don-t-overwrite-Status-in-I.patch
ShellPkg/ShellProtocol.c: Don't overwrite Status in
InternalShellExecuteDevicePath
0005-ShellLib-UefiShellLib.c-Fix-doc-comment-for-ShellOpe.patch
AArch64Mmu.c.patch
ShellLib/UefiShellLib.c: Fix doc comment for
ShellOpenFileMetaArg
0006-ShellPkg-UefiShellLib.c-Execute-Return-a-Command-sta.patch
ShellPkg/UefiShellLib.c: Execute: Return a Command status even
in the old shell
0007-ShellPkg-ShellProtocol.c-Make-Argv-0-the-full-file-p.patch
ShellPkg/ShellProtocol.c: Make Argv[0] the full file path of the command
Required by the EFI Shell spec
0008-ShellPkg-ShellProtocol.c-Don-t-put-consective-s-in-f.patch
ShellPkg/ShellProtocol.c: Don't put consective "\"s in file paths
The UEFI and UEFI Shell specs do not allow consecutive path separators.
Thanks,
Olivier
------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience. Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel