summaryrefslogtreecommitdiff
path: root/util-internal.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-07-05 14:58:35 -0400
committerNick Mathewson <nickm@torproject.org>2011-07-05 14:58:35 -0400
commitb07940ced7ff1778590ca61fc6a20144c685dcd4 (patch)
tree53aac83a90bdfd96424a5fabb34e33fe27af5320 /util-internal.h
parent16bacbc5de5142f0efcbbd55832279777ba3b210 (diff)
parentd5bd604a8b8317a347f62db40bab085d8650fbec (diff)
downloadlibevent-b07940ced7ff1778590ca61fc6a20144c685dcd4.tar.gz
Merge remote-tracking branch 'origin/patches-2.0'
Diffstat (limited to 'util-internal.h')
-rw-r--r--util-internal.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/util-internal.h b/util-internal.h
index 770d158c..0ff1ce06 100644
--- a/util-internal.h
+++ b/util-internal.h
@@ -272,6 +272,43 @@ int evutil_hex_char_to_int(char c);
HANDLE evutil_load_windows_system_library(const TCHAR *library_name);
#endif
+#ifndef EV_SIZE_FMT
+#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
+#define EV_U64_FMT "%I64u"
+#define EV_I64_FMT "%I64d"
+#define EV_I64_ARG(x) ((__int64)(x))
+#define EV_U64_ARG(x) ((unsigned __int64)(x))
+#else
+#define EV_U64_FMT "%llu"
+#define EV_I64_FMT "%lld"
+#define EV_I64_ARG(x) ((long long)(x))
+#define EV_U64_ARG(x) ((unsigned long long)(x))
+#endif
+#endif
+
+#if defined(__STDC__) && defined(__STDC_VERSION__)
+#if (__STDC_VERSION__ >= 199901L)
+#define EV_SIZE_FMT "%zu"
+#define EV_SSIZE_FMT "%zd"
+#define EV_SIZE_ARG(x) (x)
+#define EV_SSIZE_ARG(x) (x)
+#endif
+#endif
+
+#ifndef EV_SIZE_FMT
+#if (_EVENT_SIZEOF_SIZE_T <= _EVENT_SIZEOF_LONG)
+#define EV_SIZE_FMT "%lu"
+#define EV_SSIZE_FMT "%ld"
+#define EV_SIZE_ARG(x) ((unsigned long)(x))
+#define EV_SSIZE_ARG(x) ((long)(x))
+#else
+#define EV_SIZE_FMT EV_U64_FMT
+#define EV_SSIZE_FMT EV_I64_FMT
+#define EV_SIZE_ARG(x) EV_U64_ARG(x)
+#define EV_SSIZE_ARG(x) EV_I64_ARG(x)
+#endif
+#endif
+
#ifdef __cplusplus
}
#endif