void lsmStringAppendf(LsmString *pStr, const char *zFormat, ...){ va_list ap, ap2; va_start(ap, zFormat); va_start(ap2, zFormat); lsmStringVAppendf(pStr, zFormat, ap, ap2); va_end(ap); va_end(ap2); }
/* ** Write into memory obtained from lsm_malloc(). */ char *lsmMallocPrintf(lsm_env *pEnv, const char *zFormat, ...){ LsmString s; va_list ap, ap2; lsmStringInit(&s, pEnv); va_start(ap, zFormat); va_start(ap2, zFormat); lsmStringVAppendf(&s, zFormat, ap, ap2); va_end(ap); va_end(ap2); if( s.n<0 ) return 0; return (char *)lsmReallocOrFree(pEnv, s.z, s.n+1); }
void lsmLogMessage(lsm_db *pDb, int rc, const char *zFormat, ...){ if( pDb->xLog ){ LsmString s; va_list ap, ap2; lsmStringInit(&s, pDb->pEnv); va_start(ap, zFormat); va_start(ap2, zFormat); lsmStringVAppendf(&s, zFormat, ap, ap2); va_end(ap); va_end(ap2); pDb->xLog(pDb->pLogCtx, rc, s.z); lsmStringClear(&s); } }