[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2] tools/libxc: Annotate xc_osdep_log with __attribute__((format))



This helps the compiler spot printf formatting errors.

Fix up resulting errors in xenctrl_osdep_ENOSYS.c.  Substitute %p for the
slightly less bad %lx when trying to format an opaque structure.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>

---
v2: %p -> %lx
---
 tools/libxc/xenctrl_osdep_ENOSYS.c |   32 ++++++++++++++++----------------
 tools/libxc/xenctrlosdep.h         |    3 ++-
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/tools/libxc/xenctrl_osdep_ENOSYS.c 
b/tools/libxc/xenctrl_osdep_ENOSYS.c
index 4821342..abdf3d5 100644
--- a/tools/libxc/xenctrl_osdep_ENOSYS.c
+++ b/tools/libxc/xenctrl_osdep_ENOSYS.c
@@ -15,19 +15,19 @@
 
 static xc_osdep_handle ENOSYS_privcmd_open(xc_interface *xch)
 {
-    IPRINTF(xch, "ENOSYS_privcmd: opening handle %p\n", (void *)1);
+    IPRINTF(xch, "ENOSYS_privcmd: opening handle %d\n", 1);
     return (xc_osdep_handle)1; /*dummy*/
 }
 
 static int ENOSYS_privcmd_close(xc_interface *xch, xc_osdep_handle h)
 {
-    IPRINTF(xch, "ENOSYS_privcmd: closing handle %p\n", h);
+    IPRINTF(xch, "ENOSYS_privcmd: closing handle %lx\n", h);
     return 0;
 }
 
 static int ENOSYS_privcmd_hypercall(xc_interface *xch, xc_osdep_handle h, 
privcmd_hypercall_t *hypercall)
 {
-    IPRINTF(xch, "ENOSYS_privcmd %p: hypercall: 
%02lld(%#llx,%#llx,%#llx,%#llx,%#llx)\n",
+    IPRINTF(xch, "ENOSYS_privcmd %lx: hypercall: 
%02lld(%#llx,%#llx,%#llx,%#llx,%#llx)\n",
             h, hypercall->op,
             hypercall->arg[0], hypercall->arg[1], hypercall->arg[2],
             hypercall->arg[3], hypercall->arg[4]);
@@ -37,21 +37,21 @@ static int ENOSYS_privcmd_hypercall(xc_interface *xch, 
xc_osdep_handle h, privcm
 static void *ENOSYS_privcmd_map_foreign_batch(xc_interface *xch, 
xc_osdep_handle h, uint32_t dom, int prot,
                                       xen_pfn_t *arr, int num)
 {
-    IPRINTF(xch, "ENOSYS_privcmd %p: map_foreign_batch: dom%d prot %#x arr %p 
num %d\n", h, dom, prot, arr, num);
+    IPRINTF(xch, "ENOSYS_privcmd %lx: map_foreign_batch: dom%d prot %#x arr %p 
num %d\n", h, dom, prot, arr, num);
     return MAP_FAILED;
 }
 
 static void *ENOSYS_privcmd_map_foreign_bulk(xc_interface *xch, 
xc_osdep_handle h, uint32_t dom, int prot,
                                      const xen_pfn_t *arr, int *err, unsigned 
int num)
 {
-    IPRINTF(xch, "ENOSYS_privcmd %p: map_foreign_buld: dom%d prot %#x arr %p 
err %p num %d\n", h, dom, prot, arr, err, num);
+    IPRINTF(xch, "ENOSYS_privcmd %lx map_foreign_buld: dom%d prot %#x arr %p 
err %p num %d\n", h, dom, prot, arr, err, num);
     return MAP_FAILED;
 }
 
 static void *ENOSYS_privcmd_map_foreign_range(xc_interface *xch, 
xc_osdep_handle h, uint32_t dom, int size, int prot,
                                       unsigned long mfn)
 {
-    IPRINTF(xch, "ENOSYS_privcmd %p: map_foreign_range: dom%d size %#x prot 
%#x mfn %ld\n", h, dom, size, prot, mfn);
+    IPRINTF(xch, "ENOSYS_privcmd %lx map_foreign_range: dom%d size %#x prot 
%#x mfn %ld\n", h, dom, size, prot, mfn);
     return MAP_FAILED;
 }
 
@@ -59,7 +59,7 @@ static void *ENOSYS_privcmd_map_foreign_ranges(xc_interface 
*xch, xc_osdep_handl
                                        size_t chunksize, privcmd_mmap_entry_t 
entries[],
                                        int nentries)
 {
-    IPRINTF(xch, "ENOSYS_privcmd %p: map_foreign_ranges: dom%d size %zd prot 
%#x chunksize %zd entries %p num %d\n", h, dom, size, prot, chunksize, entries, 
nentries);
+    IPRINTF(xch, "ENOSYS_privcmd %lx map_foreign_ranges: dom%d size %zd prot 
%#x chunksize %zd entries %p num %d\n", h, dom, size, prot, chunksize, entries, 
nentries);
     return MAP_FAILED;
 }
 
@@ -85,59 +85,59 @@ static xc_osdep_handle ENOSYS_evtchn_open(xc_interface *xce)
 
 static int ENOSYS_evtchn_close(xc_interface *xce, xc_osdep_handle h)
 {
-    IPRINTF(xce, "ENOSYS_evtchn: closing handle %p\n", h);
+    IPRINTF(xce, "ENOSYS_evtchn: closing handle %lx\n", h);
     return 0;
 }
 
 static int ENOSYS_evtchn_fd(xc_interface *xce, xc_osdep_handle h)
 {
-    IPRINTF(xce, "ENOSYS_fd %p: fd\n", h);
+    IPRINTF(xce, "ENOSYS_fd %lx fd\n", h);
     return (int)h;
 }
 
 static int ENOSYS_evtchn_notify(xc_interface *xce, xc_osdep_handle h, 
evtchn_port_t port)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: notify: %d\n", h, port);
+    IPRINTF(xce, "ENOSYS_evtchn %lx notify: %d\n", h, port);
     return -ENOSYS;
 }
 
 static int ENOSYS_evtchn_bind_unbound_port(xc_interface *xce, xc_osdep_handle 
h, int domid)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: bind_unbound_port: dom%d\n", h, domid);
+    IPRINTF(xce, "ENOSYS_evtchn %lx bind_unbound_port: dom%d\n", h, domid);
     return -ENOSYS;
 }
 
 
 static int ENOSYS_evtchn_bind_interdomain(xc_interface *xce, xc_osdep_handle 
h, int domid, evtchn_port_t remote_port)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: bind_interdomain: dmo%d %d\n", h, domid, 
remote_port);
+    IPRINTF(xce, "ENOSYS_evtchn %lx bind_interdomain: dmo%d %d\n", h, domid, 
remote_port);
     return -ENOSYS;
 }
 
 
 static int ENOSYS_evtchn_bind_virq(xc_interface *xce, xc_osdep_handle h, 
unsigned int virq)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: bind_virq: %d\n", h, virq);
+    IPRINTF(xce, "ENOSYS_evtchn %lx bind_virq: %d\n", h, virq);
     return -ENOSYS;
 }
 
 
 static int ENOSYS_evtchn_unbind(xc_interface *xce, xc_osdep_handle h, 
evtchn_port_t port)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: unbind: %d\n", h, port);
+    IPRINTF(xce, "ENOSYS_evtchn %lx unbind: %d\n", h, port);
     return -ENOSYS;
 }
 
 
 static evtchn_port_or_error_t ENOSYS_evtchn_pending(xc_interface *xce, 
xc_osdep_handle h)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: pending\n", h);
+    IPRINTF(xce, "ENOSYS_evtchn %lx pending\n", h);
     return -ENOSYS;
 }
 
 static int ENOSYS_evtchn_unmask(xc_interface *xce, xc_osdep_handle h, 
evtchn_port_t port)
 {
-    IPRINTF(xce, "ENOSYS_evtchn %p: unmask: %d\n", h, port);
+    IPRINTF(xce, "ENOSYS_evtchn %lx unmask: %d\n", h, port);
     return -ENOSYS;
 }
 
diff --git a/tools/libxc/xenctrlosdep.h b/tools/libxc/xenctrlosdep.h
index e610a24..e97944b 100644
--- a/tools/libxc/xenctrlosdep.h
+++ b/tools/libxc/xenctrlosdep.h
@@ -157,7 +157,8 @@ void *xc_map_foreign_bulk_compat(xc_interface *xch, 
xc_osdep_handle h,
                                  const xen_pfn_t *arr, int *err, unsigned int 
num);
 
 /* Report errors through xc_interface */
-void xc_osdep_log(xc_interface *xch, xentoollog_level level, int code, const 
char *fmt, ...);
+void xc_osdep_log(xc_interface *xch, xentoollog_level level, int code,
+                  const char *fmt, ...) __attribute__((format(printf, 4, 5)));
 
 #endif
 
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.