libmemcached-1.0: fix subscripting on empty vector
[awesomized/libmemcached] / libmemcached / assert.hpp
index b7124c91d7d70fbd12184d1548d628ef6f35ceaf..cd4a194b2b1ce305e074e5f090ca82abead4d2ee 100644 (file)
@@ -2,7 +2,7 @@
  * 
  *  libmcachedd client library.
  *
- *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *  Copyright (C) 2011-2013 Data Differential, http://datadifferential.com/
  *  All rights reserved.
  *
  *  Redistribution and use in source and binary forms, with or without
 
 #pragma once
 
+#ifdef __cplusplus
+# include <cassert>
+#else
+# include <assert.h>
+#endif // __cplusplus
+
 #ifdef NDEBUG
 # define assert_msg(__expr, __mesg) (void)(__expr); (void)(__mesg);
 # define assert_vmsg(__expr, __mesg, ...) (void)(__expr); (void)(__mesg);
 #  include <alloca.h>
 # endif
 
+#ifdef __cplusplus
 # include <cstdarg>
+# include <cstdio>
+#else
+# include <stdarg.h>
+# include <stdio.h>
+#endif
+
 # include <libmemcached/backtrace.hpp>
 
 # define assert_msg(__expr, __mesg) \