Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define a wrapper to strings for when printf(%s,NULL) segfaults
[simgrid.git] / src / portable.h
index 5534f4f..bd7c397 100644 (file)
@@ -122,10 +122,25 @@ const char *gras_wsa_err2string(int errcode);
  ****/
 
 #ifdef HAVE_UCONTEXT_H
-#  include <ucontext.h>
-#else
+# ifndef S_SPLINT_S /* This header drives splint into the wall */
+#   include <ucontext.h>
+# endif 
+#endif
+
+#ifdef _WIN32
 #  include "xbt/context_win32.h" /* Manual reimplementation for prehistoric platforms */
 #endif
 
+/**
+ ** What is needed to protect solaris's printf from ever seing NULL associated to a %s format
+ ** (without adding an extra check on linux :)
+ **/
+
+#ifdef PRINTF_NULL_WORKING
+#  define PRINTF_STR(a) (a)
+#else
+#  define PRINTF_STR(a) (a)?:"(null)"
+#endif
+  
 
 #endif /* GRAS_PORTABLE_H */