Exemple #1
0
int libhaggle_trace(int err, const char *func, const char *fmt, ...)
{
    static char buf[1024];
    struct timeval now;
    va_list args;
    int len;

    if (!tr_out)
        return -1;

    if (trace_level == 0 || (trace_level == 1 && err == 0))
        return 0;

    libhaggle_gettimeofday(&now, NULL);

    va_start(args, fmt);
#ifdef WINCE
    len = _vsnprintf(buf, 1024, fmt, args);
#else
    len = vsnprintf(buf, 1024, fmt, args);
#endif
    va_end(args);

#if defined(OS_ANDROID)
    len = __android_log_print(ANDROID_LOG_DEBUG, "LIBHAGGLE",
                              "%ld.%06ld %s: %s", (long)now.tv_sec,
                              (long)now.tv_usec, func, buf);
#else
    fprintf((err ? tr_err : tr_out), "%ld.%06ld %s: %s",
            (long)now.tv_sec, (long)now.tv_usec, func, buf);
    fflush(tr_out);
#endif
    return 0;
}
Exemple #2
0
void prng_init(void)
{
#if defined(OS_MACOSX)
    // No need for initialization
#elif defined(OS_LINUX)
    srandom(time(NULL));
#elif defined(OS_WINDOWS_MOBILE)
    srand(GetTickCount());
#elif defined(OS_WINDOWS)
    struct timeval tv;
    libhaggle_gettimeofday(&tv, NULL);
    srand(tv.tv_sec + tv.tv_usec);
#endif
}