X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Flogger.c;h=dd52cc6332dfd9e9890b4a5028f2a1eb7117160b;hb=8b08e899b6ffcfd2d1b31790de5b3a4412cde64c;hp=68178d3eba35b76a544709b57698318eb1b7b746;hpb=1ee73f3c18d424d7f1f0f36aa1f3ca06337a9d9c;p=retroray diff --git a/src/logger.c b/src/logger.c index 68178d3..dd52cc6 100644 --- a/src/logger.c +++ b/src/logger.c @@ -155,28 +155,10 @@ int add_log_callback(void (*cbfunc)(const char*, void*), void *cls) static void logmsg(int type, const char *fmt, va_list ap) { - static char *buf; - static int bufsz; - int i, ret, newsz; - char *tmp; - - while((ret = vsnprintf(buf, bufsz, fmt, ap)) > bufsz || ret < 0) { - if(ret > bufsz) { - newsz = ret + 1; - } else { - newsz = bufsz ? bufsz * 2 : 256; - } - if(!(tmp = realloc(buf, newsz))) { - if(buf) { - buf[bufsz - 1] = 0; - } - break; - } - buf = tmp; - bufsz = newsz; - } + static char buf[2048]; + int i; - if(!buf) return; + vsnprintf(buf, sizeof buf, fmt, ap); for(i=0; i