123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /* iksemel (XML parser for Jabber)
- ** Copyright (C) 2000-2003 Gurer Ozen <madcat@e-kolay.net>
- ** This code is free software; you can redistribute it and/or
- ** modify it under the terms of GNU Lesser General Public License.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #ifdef _WIN32
- #include <windows.h>
- #include <limits.h>
- #else
- #include <sys/time.h>
- #endif
- #include "iksemel.h"
- /* timing functions */
- #ifdef _WIN32
- static DWORD start_tv;
- void
- t_reset (void)
- {
- start_tv = GetTickCount ();
- }
- unsigned long
- t_elapsed (void)
- {
- DWORD end_tv;
- end_tv = GetTickCount ();
- if (end_tv < start_tv)
- return UINT_MAX - (start_tv - end_tv - 1);
- else
- return end_tv - start_tv;
- }
- #else
- static struct timeval start_tv;
- void
- t_reset (void)
- {
- gettimeofday (&start_tv, NULL);
- }
- unsigned long
- t_elapsed (void)
- {
- unsigned long msec;
- struct timeval cur_tv;
- gettimeofday (&cur_tv, NULL);
- msec = (cur_tv.tv_sec * 1000) + (cur_tv.tv_usec / 1000);
- msec -= (start_tv.tv_sec * 1000) + (start_tv.tv_usec / 1000);
- return msec;
- }
- #endif
- /* memory functions */
- static void *
- m_malloc (size_t size)
- {
- void *ptr = malloc (size);
- printf ("MEM: malloc (%d) => %p\n", size, ptr);
- return ptr;
- }
- static void
- m_free (void *ptr)
- {
- printf ("MEM: free (%p)\n", ptr);
- }
- void
- m_trace (void)
- {
- iks_set_mem_funcs (m_malloc, m_free);
- }
|