From: Filip Schauer <f.schauer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 qemu 1/2] Add format attributes to function candidates
Date: Mon, 7 Aug 2023 14:30:16 +0200 [thread overview]
Message-ID: <20230807123017.389260-1-f.schauer@proxmox.com> (raw)
Add format attributes to functions that take printf-like arguments. This
provides additional compile-time checking that the correct parameters
are passed to the functions.
This fixes compiler warnings generated by the -Wsuggest-attribute=format
flag.
Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
...-async-for-background-state-snapshots.patch | 13 ++++++++++++-
...PVE-Backup-add-vma-backup-format-code.patch | 18 ++++++++++++++----
2 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
index 7be1af4..68c5627 100644
--- a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
+++ b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
@@ -142,7 +142,7 @@ new file mode 100644
index 0000000000..ac1fac6378
--- /dev/null
+++ b/migration/savevm-async.c
-@@ -0,0 +1,533 @@
+@@ -0,0 +1,544 @@
+#include "qemu/osdep.h"
+#include "migration/channel-savevm-async.h"
+#include "migration/migration.h"
@@ -177,6 +177,16 @@ index 0000000000..ac1fac6378
+ do { } while (0)
+#endif
+
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j) __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j) __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
+enum {
+ SAVE_STATE_DONE,
+ SAVE_STATE_ERROR,
@@ -275,6 +285,7 @@ index 0000000000..ac1fac6378
+ return ret;
+}
+
++static void save_snapshot_error(const char *fmt, ...) PRINTF(1, 2);
+static void save_snapshot_error(const char *fmt, ...)
+{
+ va_list ap;
diff --git a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
index 8471a6f..5dcd866 100644
--- a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
+++ b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
@@ -2314,13 +2314,13 @@ index 0000000000..304f02bc84
+ ret = blk_co_preadv(job->target, start * VMA_CLUSTER_SIZE,
+ readlen, &qiov, 0);
+ if (ret < 0) {
-+ vma_writer_set_error(job->vmaw, "read error", -1);
++ vma_writer_set_error(job->vmaw, "read error");
+ goto out;
+ }
+
+ size_t zb = 0;
+ if (vma_writer_write(job->vmaw, job->dev_id, start, buf, &zb) < 0) {
-+ vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed", -1);
++ vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed");
+ goto out;
+ }
+ }
@@ -2622,7 +2622,7 @@ new file mode 100644
index 0000000000..1b62859165
--- /dev/null
+++ b/vma.h
-@@ -0,0 +1,150 @@
+@@ -0,0 +1,160 @@
+/*
+ * VMA: Virtual Machine Archive
+ *
@@ -2643,6 +2643,16 @@ index 0000000000..1b62859165
+#include "qapi/error.h"
+#include "block/block.h"
+
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j) __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j) __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
+#define VMA_BLOCK_BITS 12
+#define VMA_BLOCK_SIZE (1<<VMA_BLOCK_BITS)
+#define VMA_CLUSTER_BITS (VMA_BLOCK_BITS+4)
@@ -2757,7 +2767,7 @@ index 0000000000..1b62859165
+int coroutine_fn vma_writer_flush_output(VmaWriter *vmaw);
+
+int vma_writer_get_status(VmaWriter *vmaw, VmaStatus *status);
-+void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...);
++void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...) PRINTF(2, 3);
+
+
+VmaReader *vma_reader_create(const char *filename, Error **errp);
--
2.39.2
next reply other threads:[~2023-08-07 12:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-07 12:30 Filip Schauer [this message]
2023-08-07 12:30 ` [pve-devel] [PATCH v2 qemu 2/2] Use already defined G_GNUC_PRINTF macro Filip Schauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230807123017.389260-1-f.schauer@proxmox.com \
--to=f.schauer@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox