From: Dmitry Volyntsev Date: Wed, 27 Mar 2019 18:00:19 +0000 (+0300) Subject: Added nxt_dprintf() and nxt_printf(). X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=1d7f43ba0f7b2e7cdd1e27d6023abb003421063c;p=njs.git Added nxt_dprintf() and nxt_printf(). --- 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_ */