From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 899F63857C71; Thu, 9 Feb 2023 19:46:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 899F63857C71 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1675972002; bh=JJlKmhvrt5+jXS22rUiXy92KuOScsEGAFNk5ASi93T0=; h=From:To:Subject:Date:From; b=pgYV9ACU0Yr4dbi2Bg/IItoCe8wJR/XH80nmaitWE0L5KybS6R64nspUEyY6JtqWS C98v+9H0Jlz31uJyMc1EPweINoxQQ8XKQn+T3pj60zAbvtlntGFlEpMTqvTKTlUHyb +5BFFJjhveXFOActvHzA0iEH098UVwL5xNvwrXu0= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc/azanella/clang] misc: Suppress clang warnings on syslog X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/azanella/clang X-Git-Oldrev: da6efc964e19f9e55f64e6ee9ed74c62f422556a X-Git-Newrev: 89d961ea68b9e908f897f1d8488bac9045b435ad Message-Id: <20230209194642.899F63857C71@sourceware.org> Date: Thu, 9 Feb 2023 19:46:42 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=89d961ea68b9e908f897f1d8488bac9045b435ad commit 89d961ea68b9e908f897f1d8488bac9045b435ad Author: Adhemerval Zanella Date: Fri Apr 29 10:50:13 2022 -0300 misc: Suppress clang warnings on syslog Diff: --- misc/syslog.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/misc/syslog.c b/misc/syslog.c index f67d4b58a4..a2712d3a30 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -31,6 +31,7 @@ static char sccsid[] = "@(#)syslog.c 8.4 (Berkeley) 3/18/94"; #endif /* LIBC_SCCS and not lint */ +#include #include #include #include @@ -175,6 +176,10 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, #define SYSLOG_HEADER_WITHOUT_TS(__pri, __msgoff) \ "<%d>: %n", __pri, __msgoff + /* clang complains that adding a 'int_t' to a string does not append to it, + but the idea is to print the pid conditionally. */ + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int"); int l; if (has_ts) l = __snprintf (bufs, sizeof bufs, @@ -182,6 +187,8 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, else l = __snprintf (bufs, sizeof bufs, SYSLOG_HEADER_WITHOUT_TS (pri, &msgoff)); + DIAG_POP_NEEDS_COMMENT_CLANG; + if (0 <= l && l < sizeof bufs) { va_list apc; @@ -207,6 +214,8 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, /* Tell the cancellation handler to free this buffer. */ clarg.buf = buf; + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int"); if (has_ts) __snprintf (buf, l + 1, SYSLOG_HEADER (pri, timestamp, &msgoff, pid)); @@ -219,6 +228,7 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, __vsnprintf_internal (buf + l, bufsize - l + 1, fmt, apc, mode_flags); va_end (apc); + DIAG_POP_NEEDS_COMMENT_CLANG; } else { @@ -231,8 +241,13 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, /* Output to stderr if requested. */ if (LogStat & LOG_PERROR) - __dprintf (STDERR_FILENO, "%s%s", buf + msgoff, - "\n" + (buf[bufsize - 1] == '\n')); + { + DIAG_PUSH_NEEDS_COMMENT_CLANG; + DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int"); + __dprintf (STDERR_FILENO, "%s%s", buf + msgoff, + "\n" + (buf[bufsize - 1] == '\n')); + DIAG_POP_NEEDS_COMMENT_CLANG; + } /* Get connected, output the message to the local logger. */ if (!connected)