audk/ShellPkg
Chen A Chen c5c994c573 ShellPkg/Application: Fix ">v" cannot update environment variable
When ">v" is used to redirect the command output to environment
variable (e.g.: "echo xxx >v yyy"), we only called SetVariable()
to update the variable storage but forgot to update the cached
environment variables in gShellEnvVarList.
When updating the variable storage, the existing code unnecessary
saved the ending NULL character into variable storage.

The patch fixes all the above issues.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen A Chen <chen.a.chen@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hpe.com>
2016-12-09 09:26:28 +08:00
..
2012-04-24 06:49:39 +00:00
2011-12-13 18:45:44 +00:00

============================================================================
                                 OVERVIEW
============================================================================
The UEFI 2.0 shell provides a standard pre-boot command line processor.
It is similar to the EDK EFI Shell or a *nix command line parser.

============================================================================
                    HOW TO INCORPORATE THIS SHELL INTO NT32
============================================================================
The instructions below are included as a sample and template on how a 
developer may integrate this code into an existing platform:

1. Add this shell build to the NT32 build:
   Add the shell.inf to the [components] section as it is in the ShellPkg.dsc.

2. Update system PCDs to support this new module
   Update the PCD as follows using the Shell's PCD:
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }

3. Remove the old shell from the NT32 Firmware list
   Remove the FILE APPLICATION section for the old shell.

4. Add this shell to the NT32 firmware list
   Add the Shell.INF to the end of the list of DXE modules.

5. Build NT32


============================================================================