Avoid warning
[mono.git] / eglib / test / test.c
index dc97450ec56dff0a671bb41ac142730d072b4884..6dd7bf47469a891c8ca708bf157b99f04936fd02 100644 (file)
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
 #include <config.h>
 #include <stdlib.h>
 #include <stdio.h>
 
 extern gint global_passed, global_tests;
 
+#ifndef HAVE_VASPRINTF
+  /* systen does not provide a vasprintf function, use the one
+     provided within eglib itself */
+extern int vasprintf(char **ret, const char *format, va_list ap);
+#endif
+
 static gchar *last_result = NULL;
 
 gboolean 
@@ -167,6 +177,11 @@ FAILED(const gchar *format, ...)
        va_list args;
        gint n;
 
+#if !defined(HAVE_VASPRINTF) && !defined(_EGLIB_MAJOR)
+       /* We are linked against the real glib, no vasprintf */
+       g_assert_not_reached ();
+       return NULL;
+#else
        va_start(args, format);
        n = vasprintf(&ret, format, args);
        va_end(args);
@@ -178,6 +193,7 @@ FAILED(const gchar *format, ...)
 
        last_result = ret;
        return ret;
+#endif
 }
 
 gdouble