* 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
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);
last_result = ret;
return ret;
+#endif
}
gdouble
get_timestamp()
{
/* FIXME: We should use g_get_current_time here */
-#ifdef G_OS_WIN32
- long int l = GetTickCount();
- return (gdouble)(l / 1000) + (1.e-6) * ((l % 1000) * 1000);
-#else
- struct timeval tp;
- gettimeofday(&tp, NULL);
- return (gdouble)tp.tv_sec + (1.e-6) * tp.tv_usec;
-#endif
+ GTimeVal res;
+ g_get_current_time (&res);
+ return res.tv_sec + (1.e-6) * res.tv_usec;
}
/*