int Sys_CriticalMessagef(const char* format, ...) { static const char* unknownMsg = "Unknown critical issue occured."; const size_t BUF_SIZE = 655365; const char* msg; char* buf = 0; va_list args; int result; if(format && format[0]) { va_start(args, format); buf = (char*) calloc(1, BUF_SIZE); dd_vsnprintf(buf, BUF_SIZE, format, args); msg = buf; va_end(args); } else { msg = unknownMsg; } result = showCriticalMessage(msg); if(buf) free(buf); return result; }
int dd_snprintf(char *str, size_t size, char const *format, ...) { int result = 0; va_list args; va_start(args, format); result = dd_vsnprintf(str, size, format, args); va_end(args); return result; }
ddstring_t *Str_Appendf(ddstring_t *str, char const *format, ...) { DENG_ASSERT(str); if(!str) return 0; { char buf[4096]; va_list args; // Print the message into the buffer. va_start(args, format); dd_vsnprintf(buf, sizeof(buf), format, args); va_end(args); Str_Append(str, buf); return str; } }
/** * Execute an MCI command string. * * @return @c true, if successful. */ static int sendMCICmd(char* returnInfo, int returnLength, const char *format, ...) { char buf[300]; va_list args; MCIERROR error; va_start(args, format); dd_vsnprintf(buf, sizeof(buf), format, args); va_end(args); if((error = mciSendStringA(buf, returnInfo, returnLength, NULL))) { mciGetErrorStringA(error, buf, 300); Con_Message("DM_WinCD: %s", buf); return false; } return true; }
/** * Don't print too long messages with one call. */ void N_SockPrintf(socket_t s, const char *format, ...) { #define BUFF_SIZE 512 char buf[BUFF_SIZE]; int length; va_list args; // Print the message into the buffer. va_start(args, format); length = dd_vsnprintf(buf, BUFF_SIZE, format, args); va_end(args); if(!length) { // Overflow or encoding error. Should we still be sending it anyway? length = BUFF_SIZE; } // Send it. send(s, buf, length, 0); #undef BUFF_SIZE }