| 176 | /////////////////////////////////////////// |
| 177 | |
| 178 | void _log_writef(log_ level, const char* text, va_list args) { |
| 179 | va_list copy; |
| 180 | va_copy(copy, args); |
| 181 | size_t length = vsnprintf(nullptr, 0, text, args); |
| 182 | char* buffer = sk_malloc_t(char, length + 2); |
| 183 | vsnprintf(buffer, length + 2, text, copy); |
| 184 | |
| 185 | log_write(level, buffer); |
| 186 | sk_free(buffer); |
| 187 | va_end(copy); |
| 188 | } |
| 189 | |
| 190 | /////////////////////////////////////////// |
| 191 |