#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)
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__)
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));