akheron / jansson

C library for encoding, decoding and manipulating JSON data
http://www.digip.org/jansson/
Other
3.02k stars 807 forks source link

Adjust foreach macros to not trigger VS warning C4706 #667

Open Azendale opened 9 months ago

Azendale commented 9 months ago

It seems like the json_*_foreach() macros intentionally use an assignment in a conditional check (of a for loop). Explicitly request the assignment and then non-zero check by wrapping the assignment in parenthesis and then test the result using != 0. To my understanding, this should do the same check, but in a way that hints to MSVC that you in fact really did mean to assign and then test for nonzeroness inside the for loop conditional.

As I do not understand the operation of these macros, I would request a thorough check that I did not affect their functionality.