[clang-warning-fix][ambiguous-else]

My last change to this file created some dangling elses that could be ambiguously parsed.
[mingw-warning-fix][ambiguous-else]
[mingw-warning-fix][op-precedence]

Fixes -Wparentheses warning.

(nbSel1 == nbSel2 == 1) is evaluated as ((nbSel1 == nbSel2) == 1), so I'm not sure why that 1 is there in the first place.
[mingw-warning-fix][delete-void-pointer]

Deleting void* is undefined.
[mingw-warning-fix][unknown-format-specifier]

MinGW links against the old MSVCRT.dll which doesn't support C99, in this case the %z format specifier. As far as I can tell there isn't a format specifier macro for size_t in inttypes.h so this is the best I could come up with. Without this fix, all those fprintf calls will simply print z's. I also tried enabling the MinGW stdio implementation through compiler defines (_GNU_SOURCE, __USE_MINGW_ANSI_STDIO, etc.) but these don't seem to work as is the general consensus from searching as well.