| 23 | #define CLIP_DEBUG |
| 24 | |
| 25 | static std::string format(const char * fmt, ...) { |
| 26 | va_list ap; |
| 27 | va_list ap2; |
| 28 | va_start(ap, fmt); |
| 29 | va_copy(ap2, ap); |
| 30 | int size = vsnprintf(NULL, 0, fmt, ap); |
| 31 | GGML_ASSERT(size >= 0 && size < INT_MAX); // NOLINT |
| 32 | std::vector<char> buf(size + 1); |
| 33 | int size2 = vsnprintf(buf.data(), size + 1, fmt, ap2); |
| 34 | GGML_ASSERT(size2 == size); |
| 35 | va_end(ap2); |
| 36 | va_end(ap); |
| 37 | return std::string(buf.data(), buf.size()); |
| 38 | } |
| 39 | |
| 40 | // |
| 41 | // key constants |
no test coverage detected