X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/bdf46231090f97e1d941b5b24078fc40140738c4..refs/heads/master:/src/am7xxx.c?ds=inline diff --git a/src/am7xxx.c b/src/am7xxx.c index 51bce40..8573a59 100644 --- a/src/am7xxx.c +++ b/src/am7xxx.c @@ -38,6 +38,16 @@ #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 */ #if defined _WIN32 || defined __CYGWIN__ #define AM7XXX_PUBLIC __declspec(dllexport) @@ -57,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__) @@ -1230,8 +1240,8 @@ AM7XXX_PUBLIC int am7xxx_get_device_info(am7xxx_device *dev, if (h.packet_type != AM7XXX_PACKET_TYPE_DEVINFO) { error(dev->ctx, "expected packet type: %d, got %d instead!\n", AM7XXX_PACKET_TYPE_DEVINFO, h.packet_type); - errno = ENOTSUP; - return -ENOTSUP; + errno = EINVAL; + return -EINVAL; } dev->device_info = malloc(sizeof(*dev->device_info));