From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 933F3384F01D; Thu, 9 Jun 2022 21:26:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 933F3384F01D 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: f42ab7552b679db01e6a8b74580d5d298b4870c9 X-Git-Newrev: f6247b18a47943d60b152804d51e96dbeabbad25 Message-Id: <20220609212637.933F3384F01D@sourceware.org> Date: Thu, 9 Jun 2022 21:26:37 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jun 2022 21:26:37 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f6247b18a47943d60b152804d51e96dbeabbad25 commit f6247b18a47943d60b152804d51e96dbeabbad25 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 a1b67f6527..b217ef007d 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; @@ -209,12 +216,15 @@ __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 (bufs, sizeof bufs, SYSLOG_HEADER (pri, timestamp, &msgoff, pid)); else __snprintf (bufs, sizeof bufs, SYSLOG_HEADER_WITHOUT_TS (pri, &msgoff)); + DIAG_POP_NEEDS_COMMENT_CLANG; } else { @@ -227,8 +237,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)