<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/RedfishPkg/Library/JsonLib, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<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>RedfishPkg: 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-03T18:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6181c85fa98fd1ea9e7292ad5390a2ec4f1da318'/>
<id>urn:sha1:6181c85fa98fd1ea9e7292ad5390a2ec4f1da318</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>RedfishPkg: Drop ARM32 Support</title>
<updated>2025-09-25T22:04:10+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-09-15T14:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=470a80094c7bea460cfb66d2b804d7404ada3345'/>
<id>urn:sha1:470a80094c7bea460cfb66d2b804d7404ada3345</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit drops ARM32 code from RedfishPkg. This also drops
irrelevant VALID_ARCHITECTURES comments in infs that are
not arch specific.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Define NO_MSABI_VA_FUNCS for GCC X64</title>
<updated>2025-09-19T10:54:10+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-09-05T00:03:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=82a03a824824a348fbbff7de680e15284bfc61a4'/>
<id>urn:sha1:82a03a824824a348fbbff7de680e15284bfc61a4</id>
<content type='text'>
For GCC family X64 builds, add -DNO_MSABI_VA_FUNCS to force
use of the compiler default vararg macros. This define is
required in libraries that use a standard C source submodule
and there are one or more vararg functions. The calling
convention of the vararg function must match the calling
convention of the vararg macros used within the vararg
function.

In the JsonLib case, jsonp_error_set() is a vararg function
and generates the following error for CLANGDWARF X64 builds.

RedfishPkg/Library/JsonLib/jansson/src/error.c:37:5:
error: '__builtin_ms_va_start' used in System V ABI function
37 |     va_start(ap, msg);
   |     ^

This change matches CryptoPkg openssl and mbedtls library
INF files that also define NO_MSABI_VA_FUNCS.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Use same defines for MSFT and GCC families</title>
<updated>2025-06-13T15:47:59+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2025-05-19T20:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=02e967f1e462a540f430b77248516322189e9b63'/>
<id>urn:sha1:02e967f1e462a540f430b77248516322189e9b63</id>
<content type='text'>
CLANGPDB and CLANGDWARF are in GCC family. When CLANGPDB or
CLANGDWARF are used from windows host, the same defines and
undefines must be applied to GCC family for CLANG builds.

This resolves CLANG 20.1.0 build errors.

Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Add JSON delete object function</title>
<updated>2024-01-16T09:13:03+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@amd.com</email>
</author>
<published>2024-01-11T08:47:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9971b99461e930008e3d35bc0a4a310b6afa57f6'/>
<id>urn:sha1:9971b99461e930008e3d35bc0a4a310b6afa57f6</id>
<content type='text'>
To support the deletion on a specified JSON object.

Signed-off-by: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Nickle Wang &lt;nicklew@nvidia.com&gt;
Cc: Igor Kulchytskyy &lt;igork@ami.com&gt;
Reviewed-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/RedfishCrtLib: handle floating point number in JSON</title>
<updated>2024-01-15T08:11:22+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2024-01-12T15:35:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d65b183f92446a3a2855c1c7dd4a7a1b760af381'/>
<id>urn:sha1:d65b183f92446a3a2855c1c7dd4a7a1b760af381</id>
<content type='text'>
When the value type is defined as number in Redfish schema, floating
point number is allowed. RedfishCrtLib raises assert without handling
this case now. Follow the way in EDK2 to call AsciiStrDecimalToUintnS
and handle the floating point number. Only the integer value is
returned.

Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Igor Kulchytskyy &lt;igork@ami.com&gt;
Cc: Nick Ramirez &lt;nramirez@nvidia.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: fix JsonObjectGetValue issue</title>
<updated>2023-09-22T03:59:03+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2023-09-18T12:03:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f67e1934d985dcb8a465dcf44484be3688be99a5'/>
<id>urn:sha1:f67e1934d985dcb8a465dcf44484be3688be99a5</id>
<content type='text'>
JsonObjectGetValue() cannot find corresponding JSON value
when the EDKII_JSON_VALUE object is created by another UEFI
driver. This is because "hashtable_seed" is initialized by
current time while JsonLib is loaded. So, "hashtable_seed"
will be different in each individual UEFI driver.

Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Igor Kulchytskyy &lt;igork@ami.com&gt;
Cc: Nick Ramirez &lt;nramirez@nvidia.com&gt;
Reviewed-by: Igor Kulchytskyy &lt;igork@ami.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: add object clear interface</title>
<updated>2023-07-06T13:25:15+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2023-07-03T12:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=60475162a66a73426cd971174bb3cd853a4619cf'/>
<id>urn:sha1:60475162a66a73426cd971174bb3cd853a4619cf</id>
<content type='text'>
-Add JsonObjectClear() interface for application to clear
all elements in JSON object.
-Fix typo.

Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Igor Kulchytskyy &lt;igork@ami.com&gt;
Cc: Nick Ramirez &lt;nramirez@nvidia.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: address coverity issue</title>
<updated>2023-03-29T09:22:35+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2023-03-27T14:09:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c2abf77116df96e1202cd132230a0c9031e1016f'/>
<id>urn:sha1:c2abf77116df96e1202cd132230a0c9031e1016f</id>
<content type='text'>
Fix implicit conversion issue in JsonLib.

Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Igor Kulchytskyy &lt;igork@ami.com&gt;
Cc: Nick Ramirez &lt;nramirez@nvidia.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/JsonLib: Fix JsonLib build failure</title>
<updated>2022-09-23T01:22:23+00:00</updated>
<author>
<name>Nickle Wang</name>
<email>nicklew@nvidia.com</email>
</author>
<published>2022-09-22T14:06:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=238f5f95448c0cbffab5532b21bc4d5f27cf1cee'/>
<id>urn:sha1:238f5f95448c0cbffab5532b21bc4d5f27cf1cee</id>
<content type='text'>
VS2019 reports build failure: "warning C4701: potentially uninitialized
local variable 'Ucs2Str' used". Initial Ucs2Str to NULL at the beginning
of function.

Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Nick Ramirez &lt;nramirez@nvidia.com&gt;
Signed-off-by: Nickle Wang &lt;nicklew@nvidia.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
</feed>
