--- deliantra/server/common/utils.C 2007/08/10 11:02:44 1.64 +++ deliantra/server/common/utils.C 2007/10/16 05:34:24 1.67 @@ -39,7 +39,7 @@ #include refcnt_base::refcnt_t refcnt_dummy; - +size_t slice_alloc; rand_gen rndm; void @@ -474,6 +474,7 @@ #ifdef PREFER_MALLOC void *ptr = malloc (n); #else + slice_alloc += n; void *ptr = g_slice_alloc (n); #endif @@ -519,40 +520,19 @@ memcpy (dst, src, len + 1); } -const std::string +const char * format (const char *format, ...) { - int len; + static dynbuf_text buf; - { - char buf[128]; + buf.clear (); - va_list ap; - va_start (ap, format); - len = vsnprintf (buf, sizeof (buf), format, ap); - va_end (ap); - - assert (len >= 0); // shield againstz broken vsnprintf's - - // was our static buffer short enough? - if (len < sizeof (buf)) - return std::string (buf, len); - } - - { - // longer, try harder - char *buf = salloc (len + 1); - - va_list ap; - va_start (ap, format); - vsnprintf (buf, len + 1, format, ap); - va_end (ap); - - const std::string s (buf, len); - sfree (buf, len + 1); - - return buf; - } + va_list ap; + va_start (ap, format); + buf.vprintf (format, ap); + va_end (ap); + + return buf; } tstamp now () @@ -630,12 +610,3 @@ 0x2d02ef8dL }; -#if 0 -void xyzzy (object_ptr &a, object_ptr &o) -{ - asm volatile ("int3"); - a = o; - asm volatile ("int3"); -} -#endif -