<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/ShellPkg/Application/Shell/Shell.h, branch trunk</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2024-06-04T03:43:08+00:00</updated>
<entry>
<title>Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305b</title>
<updated>2024-06-04T03:43:08+00:00</updated>
<author>
<name>kx</name>
<email>kx@radix.pro</email>
</author>
<published>2024-06-04T03:43:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7e2ccccace24636f29ddc210b94606abd4c7e42b'/>
<id>urn:sha1:7e2ccccace24636f29ddc210b94606abd4c7e42b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ShellPkg: Apply uncrustify changes</title>
<updated>2021-12-07T17:24:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2021-12-05T22:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=47d20b54f9a65b08aa602a1866c1b59a69088dfc'/>
<id>urn:sha1:47d20b54f9a65b08aa602a1866c1b59a69088dfc</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the ShellPkg package

Cc: Andrew Fish &lt;afish@apple.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Ray Ni &lt;ray.ni@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/Application: Fix various typos</title>
<updated>2020-02-10T22:30:07+00:00</updated>
<author>
<name>Antoine Coeur</name>
<email>coeur@gmx.fr</email>
</author>
<published>2020-02-07T01:08:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6a5033ca3e8868a176a9671d55ad297bac385b1b'/>
<id>urn:sha1:6a5033ca3e8868a176a9671d55ad297bac385b1b</id>
<content type='text'>
Fix various typos in comments and documentation.

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Antoine Coeur &lt;coeur@gmx.fr&gt;
Reviewed-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
Message-Id: &lt;20200207010831.9046-68-philmd@redhat.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Replace BSD License with BSD+Patent License</title>
<updated>2019-04-09T17:58:25+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-04-03T23:07:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=56ba37463a5ffa44df1c5741184ba0594fadbeba'/>
<id>urn:sha1:56ba37463a5ffa44df1c5741184ba0594fadbeba</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Ray Ni &lt;ray.ni@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg Shell: Remove redundant functions</title>
<updated>2018-09-06T09:47:52+00:00</updated>
<author>
<name>shenglei</name>
<email>shenglei.zhang@intel.com</email>
</author>
<published>2018-08-09T03:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=22cf747fcf75dbfe51e5524ce1f9cf17b19914cd'/>
<id>urn:sha1:22cf747fcf75dbfe51e5524ce1f9cf17b19914cd</id>
<content type='text'>
The redundant functions which are never called have been
removed. They are InternalShellProtocolDebugPrintMessage,
UpdateFileName,RemoveFileTag and IsValidCommandName.
https://bugzilla.tianocore.org/show_bug.cgi?id=1066

Cc: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Cc: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: shenglei &lt;shenglei.zhang@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Clean up source files</title>
<updated>2018-06-28T03:19:51+00:00</updated>
<author>
<name>Liming Gao</name>
<email>liming.gao@intel.com</email>
</author>
<published>2018-06-27T13:13:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ba0014b9f8ae1a593f03e744f26008214c2b06a8'/>
<id>urn:sha1:ba0014b9f8ae1a593f03e744f26008214c2b06a8</id>
<content type='text'>
1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao &lt;liming.gao@intel.com&gt;
Reviewed-by: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/Shell: clean up bogus member types in SPLIT_LIST</title>
<updated>2017-04-26T10:10:30+00:00</updated>
<author>
<name>Laszlo Ersek</name>
<email>lersek@redhat.com</email>
</author>
<published>2017-04-25T12:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1bd0bf153ebf4993421afd5084c52a6e57e17fdc'/>
<id>urn:sha1:1bd0bf153ebf4993421afd5084c52a6e57e17fdc</id>
<content type='text'>
The "SPLIT_LIST.SplitStdOut" and "SPLIT_LIST.SplitStdIn" members currently
have type (SHELL_FILE_HANDLE *). This is wrong; SHELL_FILE_HANDLE is
already a pointer, there's no need to store a pointer to a pointer.

The error is obvious if we check where and how these members are used:

- In the RunSplitCommand() function, these members are used (populated)
  extensively; this function has to be updated in sync.

  ConvertEfiFileProtocolToShellHandle() already returns the temporary
  memory file created with CreateFileInterfaceMem() as SHELL_FILE_HANDLE,
  not as (SHELL_FILE_HANDLE *).

- In particular, the ConvertShellHandleToEfiFileProtocol() calls need to
  be dropped as well in RunSplitCommand(), since
  EFI_SHELL_PROTOCOL.SetFilePosition() and EFI_SHELL_PROTOCOL.CloseFile()
  take SHELL_FILE_HANDLE parameters, not (EFI_FILE_PROTOCOL *).

  Given that ConvertShellHandleToEfiFileProtocol() only performs a
  type-cast (it does not adjust any pointer values), *and*
  SHELL_FILE_HANDLE -- taken by EFI_SHELL_PROTOCOL member functions -- is
  actually a typedef to (VOID *) -- see more on this later --, this
  conversion error hasn't been caught by compilers.

- In the ProcessNewSplitCommandLine() function, RunSplitCommand() is
  called either initially (passing in NULL / NULL; no update needed), or
  recursively (passing in Split-&gt;SplitStdIn / Split-&gt;SplitStdOut; again no
  update is necessary beyond the RunSplitCommand() modification above).

- In the UpdateStdInStdOutStdErr() and RestoreStdInStdOutStdErr()
  functions, said structure members are compared and assigned to
  "EFI_SHELL_PARAMETERS_PROTOCOL.StdIn" and
  "EFI_SHELL_PARAMETERS_PROTOCOL.StdOut", both of which have type
  SHELL_FILE_HANDLE, *not* (SHELL_FILE_HANDLE *).

  The compiler hasn't caught this error because of the fatally flawed type
  definition of SHELL_FILE_HANDLE, namely

    typedef VOID *SHELL_FILE_HANDLE;

  Pointer-to-void silently converts to and from most other pointer types;
  among them, pointer-to-pointer-to-void. That is also why no update is
  necessary for UpdateStdInStdOutStdErr() and RestoreStdInStdOutStdErr()
  in this fix.

(

Generally speaking, using (VOID *) typedefs for opaque handles is a tragic
mistake in all of the UEFI-related specifications; this practice defeats
any type checking that compilers might help programmers with. The right
way to define an opaque handle is as follows:

  //
  // Introduce the incomplete structure type, and the derived pointer
  // type, in both the specification and the public edk2 headers. Note
  // that the derived pointer type itself is a complete type, and it can
  // be used freely by client code.
  //
  typedef struct SHELL_FILE *SHELL_FILE_HANDLE;

  //
  // Complete the structure type in the edk2 internal C source files.
  //
  struct SHELL_FILE {
    //
    // list fields
    //
  };

This way the structure size and members remain hidden from client code,
but the C compiler can nonetheless catch any invalid conversions between
incompatible XXX_HANDLE types.

)

Cc: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Cc: Marvin Häuser &lt;Marvin.Haeuser@outlook.com&gt;
Cc: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Cc: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek &lt;lersek@redhat.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Update sources to include MdePkg protocol definitions</title>
<updated>2016-10-19T02:26:16+00:00</updated>
<author>
<name>Ruiyu Ni</name>
<email>ruiyu.ni@intel.com</email>
</author>
<published>2016-10-18T06:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=28165f245f26bad4dae86cda3d17458726a9a82f'/>
<id>urn:sha1:28165f245f26bad4dae86cda3d17458726a9a82f</id>
<content type='text'>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/Application: Remove unnecessary EFIAPI</title>
<updated>2016-10-09T02:27:45+00:00</updated>
<author>
<name>Chen A Chen</name>
<email>chen.a.chen@intel.com</email>
</author>
<published>2016-09-29T07:15:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c20bd8e1e21772bff28a96d428db769e46033e6a'/>
<id>urn:sha1:c20bd8e1e21772bff28a96d428db769e46033e6a</id>
<content type='text'>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen A Chen &lt;chen.a.chen@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Ruiyu Ni &lt;Ruiyu.ni@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "ShellPkg: Move FindFirstCharacter/GetNextParameter to ShellCommandLib"</title>
<updated>2016-08-25T05:00:47+00:00</updated>
<author>
<name>Ruiyu Ni</name>
<email>ruiyu.ni@intel.com</email>
</author>
<published>2016-08-23T02:40:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1219c85df42d5c9ed187565328e2f5cead5682ed'/>
<id>urn:sha1:1219c85df42d5c9ed187565328e2f5cead5682ed</id>
<content type='text'>
This reverts commit c0bcd3433f33876c519bf5567e0ab69261b57fe9.
The above commit causes several regression of "echo" command:
1. Double quotes are not being stripped from the final text. UEFI Shell 2.2 section 3.4.5 chops out the quotes.
2. Output redirection is not working as expected. Text is being redirected, but the ‘&gt; …’ text should not be.
3. Inconsistent special character handling.  For example, comments with # seem to be parsed out correctly, but handing of ^ is incorrect.
In summary, ‘echo “You are ^#1” &gt; t.txt’ results in the below content in t.txt:
 “You are ^#1” &gt; t.txt

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Cc: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Tapan Shah &lt;tapandshah@hpe.com&gt;
</content>
</entry>
</feed>
