From 1d7f43ba0f7b2e7cdd1e27d6023abb003421063c Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Wed, 27 Mar 2019 21:00:19 +0300 Subject: [PATCH] Added nxt_dprintf() and nxt_printf(). --- nxt/nxt_sprintf.c | 17 +++++++++++++++++ nxt/nxt_sprintf.h | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/nxt/nxt_sprintf.c b/nxt/nxt_sprintf.c index 3371bb24..cf3e9eb7 100644 --- a/nxt/nxt_sprintf.c +++ b/nxt/nxt_sprintf.c @@ -64,6 +64,23 @@ nxt_sprintf(u_char *buf, u_char *end, const char *fmt, ...) } +int +nxt_dprintf(int fd, const char *fmt, ...) +{ + size_t size; + u_char text[2048], *p; + va_list args; + + va_start(args, fmt); + p = nxt_vsprintf(text, text + sizeof(text), fmt, args); + va_end(args); + + size = p - text; + + return write(fd, text, size); +} + + /* * nxt_sprintf_t is used: * to pass several parameters of nxt_integer() via single pointer diff --git a/nxt/nxt_sprintf.h b/nxt/nxt_sprintf.h index 010b0746..f8aa07f1 100644 --- a/nxt/nxt_sprintf.h +++ b/nxt/nxt_sprintf.h @@ -12,5 +12,9 @@ NXT_EXPORT u_char *nxt_sprintf(u_char *buf, u_char *end, const char *fmt, ...); NXT_EXPORT u_char *nxt_vsprintf(u_char *buf, u_char *end, const char *fmt, va_list args); +NXT_EXPORT int nxt_dprintf(int fd, const char *fmt, ...); + +#define nxt_printf(fmt, ...) \ + nxt_dprintf(STDOUT_FILENO, fmt, ##__VA_ARGS__) #endif /* _NXT_SPRINTF_H_INCLUDED_ */ -- 2.47.3