X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/80417f30dc0d1ff825d887032507511be4dcc11b..bbebd199987581ee6f344c89bfb02237dc0ab0bd:/src/am7xxx.c diff --git a/src/am7xxx.c b/src/am7xxx.c index 84d7e9c..4bf9abb 100644 --- a/src/am7xxx.c +++ b/src/am7xxx.c @@ -30,11 +30,22 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) -/* If we're not using GNU C, elide __attribute__ +/* + * If we're not using GNU C, elide __attribute__ * taken from: http://unixwiz.net/techtips/gnu-c-attributes.html) */ #ifndef __GNUC__ -# define __attribute__(x) /* NOTHING */ + #define __attribute__(x) /* NOTHING */ +#endif + +/* + * Fix printf format when compiling for Windows with MinGW, see: + * https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/ + */ +#ifdef __MINGW_PRINTF_FORMAT + #define AM7XXX_PRINTF_FORMAT __MINGW_PRINTF_FORMAT +#else + #define AM7XXX_PRINTF_FORMAT printf #endif /* Control shared library symbols visibility */ @@ -56,7 +67,7 @@ static void log_message(am7xxx_context *ctx, const char *function_name, int line, const char *fmt, - ...) __attribute__ ((format (printf, 5, 6))); + ...) __attribute__ ((format (AM7XXX_PRINTF_FORMAT, 5, 6))); #define fatal(...) log_message(NULL, AM7XXX_LOG_FATAL, __func__, __LINE__, __VA_ARGS__) #define error(ctx, ...) log_message(ctx, AM7XXX_LOG_ERROR, __func__, __LINE__, __VA_ARGS__) @@ -414,7 +425,7 @@ static int send_data(am7xxx_device *dev, uint8_t *buffer, unsigned int len) return 0; } -static void send_data_async_complete_cb(struct libusb_transfer *transfer) +static void LIBUSB_CALL send_data_async_complete_cb(struct libusb_transfer *transfer) { am7xxx_device *dev = (am7xxx_device *)(transfer->user_data); int *completed = &(dev->transfer_completed);