#include <glib.h>
#include <sys/time.h>
#include <stdlib.h>
+#include <string.h>
#include "misc-private.h"
void _wapi_calc_timeout(struct timespec *timeout, guint32 ms)
{
struct timeval now;
- div_t divvy;
+ div_t ms_divvy, overflow_divvy;
+
+ gettimeofday (&now, NULL);
- gettimeofday(&now, NULL);
- divvy=div((now.tv_usec/1000)+ms, 1000);
+ ms_divvy = div (ms, 1000);
+ overflow_divvy = div ((now.tv_usec / 1000) + ms_divvy.rem, 1000);
- timeout->tv_sec=now.tv_sec+divvy.quot;
- timeout->tv_nsec=divvy.rem*1000000;
-}
-
-/* This is used instead of g_renew when we need to keep unused
- * elements NULL, because g_renew doesn't initialize the memory it
- * returns.
- */
-gpointer _wapi_g_renew0 (gpointer mem, gulong old_len, gulong new_len)
-{
- gpointer new_mem=g_malloc0 (new_len);
- memcpy (new_mem, mem, old_len);
- g_free (mem);
- return(new_mem);
+ timeout->tv_sec = now.tv_sec + ms_divvy.quot + overflow_divvy.quot;
+ timeout->tv_nsec = overflow_divvy.rem * 1000000;
}