summaryrefslogtreecommitdiff
path: root/setup_once.h
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-09-04 17:09:36 +0200
committerYang Tse <yangsita@gmail.com>2011-09-04 17:09:36 +0200
commitbab721cb1cad87e01b3c240821be47755bdc4bac (patch)
tree355903591c2ee282e601bb6580a62c124d84df44 /setup_once.h
parent1f8f14d21ebfcddd18c6c7ba7c74a160b64575ac (diff)
downloadc-ares-bab721cb1cad87e01b3c240821be47755bdc4bac.tar.gz
c-ares-bab721cb1cad87e01b3c240821be47755bdc4bac.tar.bz2
c-ares-bab721cb1cad87e01b3c240821be47755bdc4bac.zip
setup_once.h cleanup and sync
Diffstat (limited to 'setup_once.h')
-rw-r--r--setup_once.h37
1 files changed, 23 insertions, 14 deletions
diff --git a/setup_once.h b/setup_once.h
index a333f54..48cb9b2 100644
--- a/setup_once.h
+++ b/setup_once.h
@@ -300,6 +300,27 @@ struct timeval {
/*
+ * Macro WHILE_FALSE may be used to build single-iteration do-while loops,
+ * avoiding compiler warnings. Mostly intended for other macro definitions.
+ */
+
+#define WHILE_FALSE while(0)
+
+#if defined(_MSC_VER) && !defined(__POCC__)
+# undef WHILE_FALSE
+# if (_MSC_VER < 1500)
+# define WHILE_FALSE while(1, 0)
+# else
+# define WHILE_FALSE \
+__pragma(warning(push)) \
+__pragma(warning(disable:4127)) \
+while(0) \
+__pragma(warning(pop))
+# endif
+#endif
+
+
+/*
* Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type.
*/
@@ -336,7 +357,7 @@ typedef int sig_atomic_t;
#ifdef DEBUGBUILD
#define DEBUGF(x) x
#else
-#define DEBUGF(x) do { } while (0)
+#define DEBUGF(x) do { } WHILE_FALSE
#endif
@@ -347,7 +368,7 @@ typedef int sig_atomic_t;
#if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
#define DEBUGASSERT(x) assert(x)
#else
-#define DEBUGASSERT(x) do { } while (0)
+#define DEBUGASSERT(x) do { } WHILE_FALSE
#endif
@@ -460,18 +481,6 @@ typedef int sig_atomic_t;
/*
- * System error codes for Windows CE
- */
-
-#if defined(WIN32) && !defined(HAVE_ERRNO_H)
-#define ENOENT ERROR_FILE_NOT_FOUND
-#define ESRCH ERROR_PATH_NOT_FOUND
-#define ENOMEM ERROR_NOT_ENOUGH_MEMORY
-#define ENOSPC ERROR_INVALID_PARAMETER
-#endif
-
-
-/*
* Actually use __32_getpwuid() on 64-bit VMS builds for getpwuid()
*/