X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=sys_shared.c;h=a8016fa7cc371bc2b8ec2a1c4ae5bffe2b39b4b7;hb=50179cc6a7fa538adf02e37077776a556e6ba63e;hp=18628ef66d361c3f697f22f4f3d923c96d9a719e;hpb=a01302832564d321dd2a544d2ee6f1eb5a618863;p=xonotic%2Fdarkplaces.git diff --git a/sys_shared.c b/sys_shared.c index 18628ef6..a8016fa7 100644 --- a/sys_shared.c +++ b/sys_shared.c @@ -48,43 +48,48 @@ static char qfont_table[256] = { 'x', 'y', 'z', '{', '|', '}', '~', '<' }; - -#define MAX_PRINT_MSG 16384 -void Sys_Printf (const char *fmt, ...) +static char sys_timestring[128]; +char *Sys_TimeString(const char *timeformat) { - va_list argptr; - char start[MAX_PRINT_MSG]; // String we started with - char stamp[MAX_PRINT_MSG]; // Time stamp - char final[MAX_PRINT_MSG]; // String we print + time_t mytime = time(NULL); + strftime(sys_timestring, sizeof(sys_timestring), timeformat, localtime(&mytime)); + return sys_timestring; +} - time_t mytime = 0; - struct tm *local = NULL; - unsigned char *p; +#define MAXPRINTMSG 16384 - va_start (argptr, fmt); - vsnprintf (start, sizeof(start), fmt, argptr); - va_end (argptr); +void Sys_Print(const char *msg) +{ + unsigned char *p; + // String we print + char final[MAXPRINTMSG]; if (sys_nostdout) return; if (timestamps.integer) - { - mytime = time (NULL); - local = localtime (&mytime); - strftime (stamp, sizeof (stamp), timeformat.string, local); - - snprintf (final, sizeof (final), "%s%s", stamp, start); - } + snprintf(final, sizeof(final), "%s%s", Sys_TimeString(timeformat.string), msg); else - snprintf (final, sizeof (final), "%s", start); + strncpy(final, msg, sizeof(final)); // LordHavoc: make sure the string is terminated - final[MAX_PRINT_MSG - 1] = 0; + final[MAXPRINTMSG-1] = 0; for (p = (unsigned char *) final;*p; p++) *p = qfont_table[*p]; - Sys_Print(final); + Sys_PrintToTerminal(final); +} + +void Sys_Printf(const char *fmt, ...) +{ + va_list argptr; + char msg[MAXPRINTMSG]; // String we started with + + va_start(argptr,fmt); + vsnprintf(msg,sizeof(msg),fmt,argptr); + va_end(argptr); + + Sys_Print(msg); } @@ -105,6 +110,8 @@ void Sys_Shared_EarlyInit(void) os = "Windows"; #elif defined(__NetBSD__) os = "NetBSD"; +#elif defined(__OpenBSD__) + os = "OpenBSD"; #else os = "Unknown"; #endif