summaryrefslogtreecommitdiff
path: root/win32.h
diff options
context:
space:
mode:
authorJan-Erik Rediger <badboy@archlinux.us>2015-03-27 14:28:47 +0100
committerJan-Erik Rediger <badboy@archlinux.us>2015-03-27 14:28:47 +0100
commit421e0f33f45a1a175149b270032c75f533cea0e3 (patch)
tree0d9caedaca5de6c20b7e15c6786f1a6662f1fa87 /win32.h
parent30814af63cfaecd5c371e82e0bb484802e5dff67 (diff)
parentec229678c22e673e8d48070593f7b028a514882a (diff)
Merge pull request #314 from tzickel/master
Added support for compiling the parser code with Microsoft Visual C compiler.
Diffstat (limited to 'win32.h')
-rw-r--r--win32.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/win32.h b/win32.h
new file mode 100644
index 0000000..1a27c18
--- /dev/null
+++ b/win32.h
@@ -0,0 +1,42 @@
+#ifndef _WIN32_HELPER_INCLUDE
+#define _WIN32_HELPER_INCLUDE
+#ifdef _MSC_VER
+
+#ifndef inline
+#define inline __inline
+#endif
+
+#ifndef va_copy
+#define va_copy(d,s) ((d) = (s))
+#endif
+
+#ifndef snprintf
+#define snprintf c99_snprintf
+
+__inline int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap)
+{
+ int count = -1;
+
+ if (size != 0)
+ count = _vsnprintf_s(str, size, _TRUNCATE, format, ap);
+ if (count == -1)
+ count = _vscprintf(format, ap);
+
+ return count;
+}
+
+__inline int c99_snprintf(char* str, size_t size, const char* format, ...)
+{
+ int count;
+ va_list ap;
+
+ va_start(ap, format);
+ count = c99_vsnprintf(str, size, format, ap);
+ va_end(ap);
+
+ return count;
+}
+#endif
+
+#endif
+#endif \ No newline at end of file