HomeFreeBSD

wxgtk30: fix format strings for printing kevent data

Description

wxgtk30: fix format strings for printing kevent data

WxWidgets can watch for filesystem changes via kevent(2). To aid debugging,
incoming events are passed to a logging function (log level TRACE, which
will be discarded unless explicitely enabled). The format strings used
here did not match FreeBSD's struct kevent, and this mismatch triggered
an assertion inside wx. (The assertion message was

./include/wx/strvararg.h(456): assert
  "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed
  in wxArgNormalizer(): format specifier doesn't match argument type

for your search engine's reference). (Observed e.g. in cad/kicad when
(auto-)saving a project, where the assertion failure was passed as an
error dialog to the GUI - having this pop up when saving your work does
not instill confidence).
This patch uses the format specifiers from inttypes.h and accounts for
the changes to struct kevent between FreeBSD 11 and 12.
NB: wxgtk31 has similar code in the same place, with some improvements,
but IMO the fix is incomplete (it doesn't account for 11 vs 12). Maintainer
will be notified.

Details

Provenance
cmtAuthored on
Parents
rP495199: MFH: r494031 r494996
Branches
Unknown
Tags
Unknown