<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/ShellPkg/Include/Protocol, branch dependabot/github_actions/actions/github-script-9</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fgithub-script-9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-02-23T21:01:28+00:00</updated>
<entry>
<title>ShellPkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T19:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8472271daeed6ebb23b6992155b65c029aa42984'/>
<id>urn:sha1:8472271daeed6ebb23b6992155b65c029aa42984</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Fix typos</title>
<updated>2023-12-08T13:25:11+00:00</updated>
<author>
<name>Page Chen</name>
<email>paiching_chen@apple.com</email>
</author>
<published>2023-11-09T19:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fe2abc9b74b9b869e29f0ebc6dfaa54001b53e9b'/>
<id>urn:sha1:fe2abc9b74b9b869e29f0ebc6dfaa54001b53e9b</id>
<content type='text'>
begining-&gt;beginning
dirve-&gt;drive
duplicat-&gt;duplicate
fuly-&gt;fully
Funciton-&gt;Function
Functino-&gt;Function
optioanl-&gt;optional
poitners-&gt;pointers
rountine-&gt;routine
sucessful-&gt;successful
sucessfully-&gt;successfully

Signed-off-by: Page Chen &lt;paiching_chen@apple.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Cc: Andrew Fish &lt;afish@apple.com&gt;
Message-Id: &lt;829d2bed2a848229d719d7ae7b64ef1a47782720.1699557986.git.paiching_chen@apple.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</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: 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: Remove ShellPkg wrapper header files</title>
<updated>2018-11-22T06:24:23+00:00</updated>
<author>
<name>Shenglei Zhang</name>
<email>shenglei.zhang@intel.com</email>
</author>
<published>2018-11-15T07:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a2c0496991bf1b7382ec6d39a22034f435feb20d'/>
<id>urn:sha1:a2c0496991bf1b7382ec6d39a22034f435feb20d</id>
<content type='text'>
These wrapper header files are not referenced by all
open source, so they are removed.
https://bugzilla.tianocore.org/show_bug.cgi?id=158

Cc: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Cc: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Cc: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Shenglei Zhang &lt;shenglei.zhang@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: #ifndef of header files should have postfix underscore</title>
<updated>2016-11-16T04:45:54+00:00</updated>
<author>
<name>Ruiyu Ni</name>
<email>ruiyu.ni@intel.com</email>
</author>
<published>2016-11-15T01:57:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2adf689cb7c66f4790a7d0a9e7e99aad6ebee638'/>
<id>urn:sha1:2adf689cb7c66f4790a7d0a9e7e99aad6ebee638</id>
<content type='text'>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Reviewed-by: Dandan Bi &lt;dandan.bi@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Fix typos in comments and variables</title>
<updated>2016-11-15T03:05:34+00:00</updated>
<author>
<name>Gary Lin</name>
<email>glin@suse.com</email>
</author>
<published>2016-10-19T07:01:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=268d344557c38198d34359b50532df343bada5f1'/>
<id>urn:sha1:268d344557c38198d34359b50532df343bada5f1</id>
<content type='text'>
- funciton -&gt; function
- paramter -&gt; parameter
- supresses -&gt; suppresses
- Seperator -&gt; Separator
- permenant -&gt; permanent

Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin &lt;glin@suse.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Update header files to reference MdePkg protocol definition</title>
<updated>2016-10-19T02:24:46+00:00</updated>
<author>
<name>Ruiyu Ni</name>
<email>ruiyu.ni@intel.com</email>
</author>
<published>2016-10-18T08:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=acf634b1318f6306bad07816251d17ee657c2d61'/>
<id>urn:sha1:acf634b1318f6306bad07816251d17ee657c2d61</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>MdePkg: Include Shell/ShellDynamicCommand/ShellParameters definitions</title>
<updated>2016-10-19T02:24:42+00:00</updated>
<author>
<name>Ruiyu Ni</name>
<email>ruiyu.ni@intel.com</email>
</author>
<published>2016-10-18T08:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=52d2e0a08be57ef75aae54e5d4cb5a7c36b4a15c'/>
<id>urn:sha1:52d2e0a08be57ef75aae54e5d4cb5a7c36b4a15c</id>
<content type='text'>
Move Shell/ShellDynamicCommand/ShellParameters definitions from
ShellPkg to MdePkg.

The following patches will rename the header file name.

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;
Cc: Jiewen Yao &lt;jiewen.yao@intel.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Follow spec to remove the last '\' char in return name of GetCurDir().</title>
<updated>2015-10-23T02:03:20+00:00</updated>
<author>
<name>Qiu Shumin</name>
<email>shumin.qiu@intel.com</email>
</author>
<published>2015-10-23T02:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fbd2dfadfe6fb16ab7b49fca3764e05e65d97b8a'/>
<id>urn:sha1:fbd2dfadfe6fb16ab7b49fca3764e05e65d97b8a</id>
<content type='text'>
In Shell spec 2.1 the return name of EFI_SHELL_PROTOCOL.GetCurDir() is defined as 'fs0:\current-dir' while in current implementation it's 'fs0:\current-dir\'. 
To follow spec the patch removed the redundant '\' char.

Since it has been broken for a long time, some codes may depend on the broken behavior.
After this change 'EFI_SHELL_PROTOCOL.GetCurDir()' and 'UefiShellLib.ShellGetCurrentDir()'
will return a current directory string without tailing '\' (fs0:\current-dir), the value of Shell environment variable 'cwd' will become 'fs0:\current-dir' as well.

This patch has updated all the code in EDKII to make them depend on the new behavior.
Developers should check whether 'GetCurDir()' and 'ShellGetCurrentDir' are used in their source code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18653 6f19259b-4bc3-4df7-8a09-765794883524
</content>
</entry>
</feed>
