void VSL(enum VSL_tag_e tag, uint32_t vxid, const char *fmt, ...) { va_list ap; unsigned n, mlen = cache_param->shm_reclen; char buf[mlen]; AN(fmt); va_start(ap, fmt); if (strchr(fmt, '%') == NULL) { vslr(tag, vxid, fmt, strlen(fmt)); } else { n = vsnprintf(buf, mlen, fmt, ap); if (n > mlen) n = mlen; vslr(tag, vxid, buf, n); } va_end(ap); }
void VSL(enum VSL_tag_e tag, int id, const char *fmt, ...) { va_list ap; unsigned n, mlen = cache_param->shm_reclen; char buf[mlen]; /* * XXX: consider formatting into a stack buffer then move into * XXX: shmlog with vslr(). */ AN(fmt); va_start(ap, fmt); if (strchr(fmt, '%') == NULL) { vslr(tag, id, fmt, strlen(fmt)); } else { n = vsnprintf(buf, mlen, fmt, ap); if (n > mlen) n = mlen; vslr(tag, id, buf, n); } va_end(ap); }