+XBT_PUBLIC(int) snprintf(char *, size_t, const char *, /*args */ ...);
+XBT_PUBLIC(int) vsnprintf(char *, size_t, const char *, va_list);
+#endif
+
+
+/* use internal functions when OS provided ones are borken */
+#if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
+XBT_PRIVATE int portable_snprintf(char *str, size_t str_m, const char *fmt,
+ /*args */ ...);
+XBT_PRIVATE int portable_vsnprintf(char *str, size_t str_m, const char *fmt,
+ va_list ap);
+#define snprintf portable_snprintf
+#define vsnprintf portable_vsnprintf