snprlcat
snprlcat(logp, logs, "[%s%d] ",
snprlcat(logp, logs, "[%s] ",
snprlcat(logp, logs, "(pid=%d) ", getpid());
snprlcat(logp, logs, "(%s:%d) ", file, line);
snprlcat(logp, logs, "(%s:%d:%s) ", file, line, func);
snprlcat(logp, logs, "%s",
snprlcat(logp, logs, ": %s.", strerror(error));
(void)snprlcat(hp->hp_comm, sizeof(hp->hp_comm), " %s",
(void)snprlcat(msg, sizeof(msg), "READ(%ju, %ju).",
(void)snprlcat(msg, sizeof(msg), "DELETE(%ju, %ju).",
(void)snprlcat(msg, sizeof(msg), "FLUSH.");
(void)snprlcat(msg, sizeof(msg), "WRITE(%ju, %ju).",
(void)snprlcat(msg, sizeof(msg), "UNKNOWN(%u).",
int snprlcat(char *str, size_t size, const char *fmt, ...);