/* * The Npic library * * Copyright (C) 2003 Edouard Thiel * * This library is free software under the terms of the * GNU Lesser General Public License (LGPL) version 2.1. */ /* * misc.c - 01/11/2008 * * Miscellaneous */ #include #include /*--------------------- P U B L I C - I N T E R F A C E ----------------------*/ /* * Return time since Epoch in seconds.microseconds */ double NpicGetTime () { struct timeval tp; if (gettimeofday (&tp, (struct timezone *) NULL) == 0) return (double) tp.tv_sec + (double) tp.tv_usec / (double) 1E6; else return (double) 0; } /* * Implement strndup() for system which don't have it. */ char *NpicStrndup (const char *s, size_t n) { size_t len = strlen (s); char *ret; if (len <= n) return strdup (s); ret = malloc(n + 1); strncpy(ret, s, n); ret[n] = '\0'; return ret; } /*-------------------- P R I V A T E - F U N C T I O N S ---------------------*/