#endif
#ifndef HAVE_ASPRINTF
-extern int asprintf(char **, const char *, ...);
-extern int vasprintf(char **, const char *, va_list ap);
+extern int asprintf(char **, const char *, ...) ATTR_FORMAT(printf, 2, 3);
+extern int vasprintf(char **, const char *, va_list ap) ATTR_FORMAT(printf, 2, 0);
#endif
#ifndef HAVE_GETTIMEOFDAY
#define MAX(a,b) (((a)>(b))?(a):(b))
#endif
+#define CLAMP(val, min, max) MIN((max), MAX((min), (val)))
+
#ifdef _MSC_VER
#define PATH_MAX MAX_PATH
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
+#define isatty _isatty
+#define fileno _fileno
+#define close CloseHandle
#define __const const
typedef int mode_t;