#include #include #include #include "timer.h" #include "locked.h" static locked(time_t) rawtime; void start_timer(void) { lockx(&rawtime); time(&rawtime.value); unlockx(&rawtime); } void get_timer_string(char *output, size_t size) { lockx(&rawtime); struct tm * timeinfo; timeinfo = localtime(&rawtime.value); snprintf(output, size, "[%02d %02d %d %02d:%02d:%02d]", timeinfo->tm_mday, timeinfo->tm_mon + 1, timeinfo->tm_year + 1900, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec); unlockx(&rawtime); }