From patchwork Thu Aug 26 18:38:58 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [5/5] HACKING: add rules for printf-like functions Date: Thu, 26 Aug 2010 08:38:58 -0000 From: Blue Swirl X-Patchwork-Id: 62798 Message-Id: To: qemu-devel Add rules for printf-like functions, based on libvirt HACKING. Signed-off-by: Blue Swirl --- HACKING | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/HACKING b/HACKING index a3d714f..5beb765 100644 --- a/HACKING +++ b/HACKING @@ -107,3 +107,16 @@ so instead of e.g. isalnum you should use qemu_isalnum. Because of the memory management rules, you must use qemu_strdup/qemu_strndup instead of plain strdup/strndup. + +5. Printf-style functions + +Whenever you add a new printf-style function, i.e., one with a format +string argument and following "..." in its prototype, be sure to use +gcc's printf attribute directive in the prototype. + +This makes it so gcc's -Wformat and -Wformat-security options can do +their jobs and cross-check format strings with the number and types +of arguments. + +Currently many functions in QEMU are not following this rule but +patches to add the attribute would be very much appreciated.