Пример #1
0
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);
}
Пример #2
0
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);
}