Merge pull request #2740 from lambdageek/dev/monoerror-reflection-icalls1
[mono.git] / eglib / test / test.c
index 602c2714132c355ac40ad2fe3d399b56ba33f27b..6dd7bf47469a891c8ca708bf157b99f04936fd02 100644 (file)
@@ -26,7 +26,9 @@
  * 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>
 
 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 
@@ -169,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);
@@ -180,6 +193,7 @@ FAILED(const gchar *format, ...)
 
        last_result = ret;
        return ret;
+#endif
 }
 
 gdouble