[dpdk-dev] [PATCH 1/2] log: remove useless intermediate buffer
David Marchand
david.marchand at 6wind.com
Thu May 31 10:03:27 CEST 2018
Rather than copy the log message, we can use a precision in the format
string given to syslog.
Fixes: af75078fece3 ("first public release")
Signed-off-by: David Marchand <david.marchand at 6wind.com>
---
lib/librte_eal/linuxapp/eal/eal_log.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_log.c b/lib/librte_eal/linuxapp/eal/eal_log.c
index ff14588..9d02ddd 100644
--- a/lib/librte_eal/linuxapp/eal/eal_log.c
+++ b/lib/librte_eal/linuxapp/eal/eal_log.c
@@ -25,25 +25,14 @@
static ssize_t
console_log_write(__attribute__((unused)) void *c, const char *buf, size_t size)
{
- char copybuf[BUFSIZ + 1];
ssize_t ret;
- uint32_t loglevel;
/* write on stdout */
ret = fwrite(buf, 1, size, stdout);
fflush(stdout);
- /* truncate message if too big (should not happen) */
- if (size > BUFSIZ)
- size = BUFSIZ;
-
/* Syslog error levels are from 0 to 7, so subtract 1 to convert */
- loglevel = rte_log_cur_msg_loglevel() - 1;
- memcpy(copybuf, buf, size);
- copybuf[size] = '\0';
-
- /* write on syslog too */
- syslog(loglevel, "%s", copybuf);
+ syslog(rte_log_cur_msg_loglevel() - 1, "%.*s", (int)size, buf);
return ret;
}
--
2.7.4
More information about the dev
mailing list