diff --git a/arraylist.c b/arraylist.c
index 9a673d6..2d44a18 100644
--- a/arraylist.c
+++ b/arraylist.c
@@ -11,12 +11,12 @@
 
 #include "config.h"
 
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <string.h>
 #endif /* STDC_HEADERS */
 
-#if defined HAVE_STRINGS_H && !defined _STRING_H && !defined __USE_BSD
+#if defined(HAVE_STRINGS_H) && !defined(_STRING_H) && !defined(__USE_BSD)
 # include <strings.h>
 #endif /* HAVE_STRINGS_H */
 
diff --git a/json_object.c b/json_object.c
index 5a35938..8e399de 100644
--- a/json_object.c
+++ b/json_object.c
@@ -26,7 +26,14 @@
 #include "json_object_private.h"
 #include "json_util.h"
 
-#if !HAVE_STRNDUP
+#if !defined(HAVE_STRDUP) && defined(_MSC_VER)
+  /* MSC has the version as _strdup */
+# define strdup _strdup
+#elif !defined(HAVE_STRDUP)
+# error You do not have strdup on your system.
+#endif /* HAVE_STRDUP */
+
+#if !defined(HAVE_STRNDUP)
   char* strndup(const char* str, size_t n);
 #endif /* !HAVE_STRNDUP */
 
diff --git a/json_tokener.c b/json_tokener.c
index 1c82484..47768f4 100644
--- a/json_tokener.c
+++ b/json_tokener.c
@@ -31,6 +31,13 @@
 #include "json_tokener.h"
 #include "json_util.h"
 
+#if !HAVE_STRDUP && defined(_MSC_VER)
+  /* MSC has the version as _strdup */
+# define strdup _strdup
+#elif !HAVE_STRDUP
+# error You do not have strdup on your system.
+#endif /* HAVE_STRDUP */
+
 #if !HAVE_STRNCASECMP && defined(_MSC_VER)
   /* MSC has the version as _strnicmp */
 # define strncasecmp _strnicmp
@@ -38,7 +45,6 @@
 # error You do not have strncasecmp on your system.
 #endif /* HAVE_STRNCASECMP */
 
-
 static const char* json_null_str = "null";
 static const char* json_true_str = "true";
 static const char* json_false_str = "false";
diff --git a/json_util.c b/json_util.c
index e551d2d..03fb24b 100644
--- a/json_util.c
+++ b/json_util.c
@@ -20,19 +20,19 @@
 #include <errno.h>
 #include <ctype.h>
 
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif /* HAVE_SYS_TYPES_H */
 
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif /* HAVE_SYS_STAT_H */
 
-#if HAVE_FCNTL_H
+#ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif /* HAVE_FCNTL_H */
 
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif /* HAVE_UNISTD_H */
 
@@ -42,10 +42,16 @@
 # include <io.h>
 #endif /* defined(WIN32) */
 
-#if !HAVE_OPEN && defined(WIN32)
+#if !defined(HAVE_OPEN) && defined(WIN32)
 # define open _open
 #endif
 
+#if !defined(HAVE_SNPRINTF) && defined(_MSC_VER)
+  /* MSC has the version as _snprintf */
+# define snprintf _snprintf
+#elif !defined(HAVE_SNPRINTF)
+# error You do not have snprintf on your system.
+#endif /* HAVE_SNPRINTF */
 
 #include "bits.h"
 #include "debug.h"
@@ -204,7 +210,7 @@
 	return 0;
 }
 
-#if HAVE_REALLOC == 0
+#ifndef HAVE_REALLOC
 void* rpl_realloc(void* p, size_t n)
 {
 	if (n == 0)
diff --git a/printbuf.c b/printbuf.c
index b951c7b..9d56522 100644
--- a/printbuf.c
+++ b/printbuf.c
@@ -19,7 +19,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#if HAVE_STDARG_H
+#ifdef HAVE_STDARG_H
 # include <stdarg.h>
 #else /* !HAVE_STDARG_H */
 # error Not enough var arg support!
@@ -108,13 +108,13 @@
 	return 0;
 }
 
-#if !HAVE_VSNPRINTF && defined(_MSC_VER)
+#if !defined(HAVE_VSNPRINTF) && defined(_MSC_VER)
 # define vsnprintf _vsnprintf
-#elif !HAVE_VSNPRINTF /* !HAVE_VSNPRINTF */
+#elif !defined(HAVE_VSNPRINTF) /* !HAVE_VSNPRINTF */
 # error Need vsnprintf!
 #endif /* !HAVE_VSNPRINTF && defined(WIN32) */
 
-#if !HAVE_VASPRINTF
+#if !defined(HAVE_VASPRINTF)
 /* CAW: compliant version of vasprintf */
 static int vasprintf(char **buf, const char *fmt, va_list ap)
 {
