Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
End of last commit about cleaning up windows backtraces (sorry, codding through the...
[simgrid.git] / include / xbt / sysdep.h
index 41708e0..8faa0da 100644 (file)
@@ -13,7 +13,6 @@
 
 #include <string.h>
 #include <stdlib.h> 
-#include <stdio.h>
 #include <stdarg.h> /* va_list */
    
 #include "xbt/misc.h"
   
 SG_BEGIN_DECL()
 
-/* FIXME: better place? */
-extern int   asprintf  (char **ptr, const char *fmt, /*args*/ ...) _XBT_GNUC_PRINTF(2,3);
-extern int vasprintf (char **ptr, const char *fmt, va_list ap);
-XBT_PUBLIC(char*) bprintf   (const char*fmt, ...) _XBT_GNUC_PRINTF(1,2);
-
-
-#if ((defined (_MSC_VER) || defined(__BORLANDC__)) && !defined(SSIZE_T_DEFINED))
-typedef int ssize_t;
-#define SSIZE_T_DEFINED
-#endif
-
-/* FIXME: ssize_t must be 'long' on windows, no idea whether we should define this explicitly */
-XBT_PUBLIC(ssize_t) getline(char **lineptr, size_t *n, FILE *stream);
-
-
 /* They live in asserts.h, but need to be declared before this module.
    double declaration to cut dependency cycle */
 /**
@@ -47,6 +31,12 @@ XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN;
 XBT_PUBLIC(void) xbt_die(const char *msg) _XBT_GNUC_NORETURN;
 /** @} */
 
+/* these ones live in str.h, but redeclare them here so that we do 
+   not need to load the whole str.h and its heavy dependencies */
+XBT_PUBLIC(int) asprintf  (char **ptr, const char *fmt, /*args*/ ...) _XBT_GNUC_PRINTF(2,3);
+XBT_PUBLIC(int) vasprintf (char **ptr, const char *fmt, va_list ap);
+XBT_PUBLIC(char*) bprintf   (const char*fmt, ...) _XBT_GNUC_PRINTF(1,2);
+
 /** @addtogroup XBT_syscall
  *  @brief Malloc and associated functions, killing the program on error (with \ref XBT_ex)
  *