On Saturday, June 14, 2025 4:07:40 AM CEST Sean Wei wrote:
v9fs_string_sprintf() and v9fs_path_sprintf() already have
G_GNUC_PRINTF annotations in their own *.c files, but the
prototypes in the corresponding headers lack them. When another
translation unit includes only the header, -Wformat can no longer
validate the argument list.
This series relocates the annotations to fsdev/9p-marshal.h and
hw/9pfs/9p.h, then drops the now-redundant annotations in
the *.c files. There is no functional change.
I've checked all call sites for these two helper function, all
of them already passes the correct number of arguments.
A minimal PoC (sent as the next mail in the thread) demo how
G_GNUC_PRINTF behaves differently when the attribute is present
only in code.c or code.h file.
--
Sean Wei (3):
fsdev/9p-marshal: move G_GNUC_PRINTF to header
hw/9pfs: move G_GNUC_PRINTF to header
fsdev/9p-marshal.c | 3 +--
fsdev/9p-marshal.h | 2 +-
hw/9pfs/9p.c | 3 +--
hw/9pfs/9p.h | 2 +-
4 files changed, 4 insertions(+), 6 deletions(-)
With code style fix queued on 9p.next:
https://github.com/cschoenebeck/qemu/commits/9p.next
Please run scripts/checkpatch.pl next time.
Thanks!
/Christian