From 363a64884681a902b1c9303a7254a74fbbdd9936 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 5 Dec 2007 09:59:23 +0000 Subject: blktap: cleanups for *BSD. Signed-off-by: Christoph Egger --- tools/blktap/drivers/blktapctrl.c | 4 ++-- tools/blktap/drivers/bswap.h | 7 ++++++- tools/blktap/lib/blktaplib.h | 1 + tools/blktap/lib/list.h | 4 ++++ tools/blktap/lib/xs_api.c | 6 +++--- 5 files changed, 16 insertions(+), 6 deletions(-) (limited to 'tools/blktap') diff --git a/tools/blktap/drivers/blktapctrl.c b/tools/blktap/drivers/blktapctrl.c index 8e630aeeee..b3f59ec58b 100644 --- a/tools/blktap/drivers/blktapctrl.c +++ b/tools/blktap/drivers/blktapctrl.c @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -684,7 +684,7 @@ static void write_pidfile(long pid) exit(1); } - len = sprintf(buf, "%ld\n", pid); + len = snprintf(buf, sizeof(buf), "%ld\n", pid); if (write(fd, buf, len) != len) { DPRINTF("Writing pid file failed (%d)\n", errno); exit(1); diff --git a/tools/blktap/drivers/bswap.h b/tools/blktap/drivers/bswap.h index 51251505d3..45016b978b 100644 --- a/tools/blktap/drivers/bswap.h +++ b/tools/blktap/drivers/bswap.h @@ -5,9 +5,14 @@ #include -#if defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) #include #include +#elif defined(__OpenBSD__) +#include +#define bswap_16(x) swap16(x) +#define bswap_32(x) swap32(x) +#define bswap_64(x) swap64(x) #else #ifdef HAVE_BYTESWAP_H diff --git a/tools/blktap/lib/blktaplib.h b/tools/blktap/lib/blktaplib.h index 9d17c6152e..d31a7fac92 100644 --- a/tools/blktap/lib/blktaplib.h +++ b/tools/blktap/lib/blktaplib.h @@ -33,6 +33,7 @@ #define __BLKTAPLIB_H__ #include +#include #include #include #include diff --git a/tools/blktap/lib/list.h b/tools/blktap/lib/list.h index bda5f46a38..c82242f56f 100644 --- a/tools/blktap/lib/list.h +++ b/tools/blktap/lib/list.h @@ -8,6 +8,10 @@ #ifndef __LIST_H__ #define __LIST_H__ +#ifdef LIST_HEAD +#undef LIST_HEAD +#endif + #define LIST_POISON1 ((void *) 0x00100100) #define LIST_POISON2 ((void *) 0x00200200) diff --git a/tools/blktap/lib/xs_api.c b/tools/blktap/lib/xs_api.c index 41bbd47bb2..370a44aa4d 100644 --- a/tools/blktap/lib/xs_api.c +++ b/tools/blktap/lib/xs_api.c @@ -282,7 +282,7 @@ int register_xenbus_watch(struct xs_handle *h, struct xenbus_watch *watch) /* Pointer in ascii is the token. */ char token[sizeof(watch) * 2 + 1]; - sprintf(token, "%lX", (long)watch); + snprintf(token, sizeof(token), "%lX", (long)watch); if (find_watch(token)) { DPRINTF("watch collision!\n"); return -EINVAL; @@ -302,7 +302,7 @@ int unregister_xenbus_watch(struct xs_handle *h, struct xenbus_watch *watch) { char token[sizeof(watch) * 2 + 1]; - sprintf(token, "%lX", (long)watch); + snprintf(token, sizeof(token), "%lX", (long)watch); if (!find_watch(token)) { DPRINTF("no such watch!\n"); return -EINVAL; @@ -326,7 +326,7 @@ void reregister_xenbus_watches(struct xs_handle *h) char token[sizeof(watch) * 2 + 1]; list_for_each_entry(watch, &watches, list) { - sprintf(token, "%lX", (long)watch); + snprintf(token, sizeof(token), "%lX", (long)watch); xs_watch(h, watch->node, token); } } -- cgit v1.2.3