diff --git a/configure.ac b/configure.ac index a419f8ae9..c5f6f22d2 100644 --- a/configure.ac +++ b/configure.ac @@ -14,6 +14,10 @@ AC_CHECK_HEADERS([uuid/uuid.h], [], [Need uuid-dev]) AC_CHECK_HEADERS([libaio.h], [], [Need libaio-dev]) AC_CHECK_HEADERS([limits.h], [], [AC_MSG_ERROR([cannot find limits.h])]) AC_CHECK_HEADERS([time.h], [], [AC_MSG_ERROR([cannot find time.h])]) +AC_CHECK_HEADERS([cmocka.h], [], [AC_MSG_ERROR([cannot find cmocka.h])], [[#include +#include +#include ]]) +AC_CHECK_HEADERS([xen/xen.h], [], [AC_MSG_ERROR([cannot find xen/xen.h])]) AC_ARG_WITH([libiconv], [AS_HELP_STRING([--with-libiconv], diff --git a/drivers/atomicio.c b/drivers/atomicio.c index b390ee323..fef042013 100644 --- a/drivers/atomicio.c +++ b/drivers/atomicio.c @@ -36,11 +36,7 @@ * ensure all of data on socket comes through. f==read || f==vwrite */ size_t -atomicio(f, fd, _s, n) - ssize_t (*f) (int, void *, size_t); - int fd; - void *_s; - size_t n; +atomicio(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n) { char *s = _s; size_t pos = 0; diff --git a/drivers/libaio-backend.h b/drivers/libaio-backend.h index 2759307d7..21707c4a1 100644 --- a/drivers/libaio-backend.h +++ b/drivers/libaio-backend.h @@ -29,7 +29,7 @@ */ #ifndef LIBAIO_BACKEND_H -#define LIBAIO_BACLEND_H +#define LIBAIO_BACKEND_H #include @@ -43,4 +43,4 @@ enum { struct backend* get_libaio_backend(); -#endif /* LIBAIO_BACLEND_H */ +#endif /* LIBAIO_BACKEND_H */ diff --git a/drivers/td-blkif.h b/drivers/td-blkif.h index b50fa8a5c..dcf885400 100644 --- a/drivers/td-blkif.h +++ b/drivers/td-blkif.h @@ -174,7 +174,7 @@ struct td_xenblkif { struct { /** - * Pointer to he pending barrier request. + * Pointer to the pending barrier request. */ blkif_request_t *msg; diff --git a/include/util.h b/include/util.h index e2529a51d..776a04ecd 100644 --- a/include/util.h +++ b/include/util.h @@ -29,7 +29,7 @@ */ #ifndef __TAPDISK_UTIL_H__ -#define __TAPDISK_UTIL_H_ +#define __TAPDISK_UTIL_H__ #include #include @@ -39,14 +39,20 @@ /* * Strncpy variant that guarantees to terminate the string */ -static inline char * +static inline void safe_strncpy(char *dest, const char *src, size_t n) { - char *pdest; - pdest = strncpy(dest, src, n - 1); - if (n > 0) +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-truncation" +#endif + if (n > 0) { + strncpy(dest, src, n - 1); dest[n - 1] = '\0'; - return pdest; + } +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif } #endif /* __TAPDISK_UTIL_H__ */ diff --git a/vhd/lib/atomicio.c b/vhd/lib/atomicio.c index b390ee323..fef042013 100644 --- a/vhd/lib/atomicio.c +++ b/vhd/lib/atomicio.c @@ -36,11 +36,7 @@ * ensure all of data on socket comes through. f==read || f==vwrite */ size_t -atomicio(f, fd, _s, n) - ssize_t (*f) (int, void *, size_t); - int fd; - void *_s; - size_t n; +atomicio(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n) { char *s = _s; size_t pos = 0;