]> git.proxmox.com Git - mirror_edk2.git/commit
RedfishPkg/JsonLib: Ignore the build error of conditional expression.
authorAbner Chang <abner.chang@hpe.com>
Fri, 29 Jan 2021 04:11:59 +0000 (12:11 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 24 Feb 2021 09:54:14 +0000 (09:54 +0000)
commit0cf260fabc2cc152580cf1247fb685c954d8f747
tree3c4e259feb419ca39fa1634e32a579615b71759c
parentbd158441d610d7cb7be0df775b73aeb8ad5e5586
RedfishPkg/JsonLib: Ignore the build error of conditional expression.

Ignore the build error of assignment within conditional expression.
Add build option to ignore the build error of "assignment within
conditional expression".
This build error is caused by the macros defined in open source
project jansson header file jansson.h.

- json_object_foreach
- json_object_foreach_safe
- json_array_foreach

We use build option to avoid the build errors on Visual Studio
(GCC doesn't havvve this problem) for now. Already sent an email
to jansson open source community to revise these macro as Leif's
suggestion as below,

for (key = json_object_iter_key(json_object_iter(object));    \
       key;                                                   \
       key = json_object_iter_key(                            \
            json_object_iter_next(object,
json_object_key_to_iter(key)))) { \
       value =
json_object_iter_value(json_object_key_to_iter(key));         \
      if (!value) \
        break; \
  } \

We will remove this build option once the patch is accepted and
upstreamed.

Signed-off-by: Abner Chang <abner.chang@hpe.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Nickle Wang <nickle.wang@hpe.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
RedfishPkg/Library/JsonLib/JsonLib.inf