From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 7E0E1381E73C; Fri, 28 Oct 2022 17:39:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7E0E1381E73C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666978783; bh=b40i47YFiNHX3jvwTTLg+SfxREOQD0GfAE/v0Vw2BFg=; h=From:To:Subject:Date:From; b=VHdwQh/CuGJ0ylsPJ/lcwbmpN2oFJ2gNg/xBE7N2mg/89D9XCFzJyswynD1xbU7CK 19LUdweKgdgbW7BwPSL73eKDlQgU6aNWyBHdmii9Sdk5QzARC7XPBsee7Wx7ET7jOn Hyp4DoCVpfEQsmPEuJqFhWbhkALupiTaFO6UOdDM= 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: ac8b5ea3fbb12767df5136020cb700c5c3720e89 X-Git-Newrev: f221a34710cc48552f43b26a716d70651e9ed183 Message-Id: <20221028173943.7E0E1381E73C@sourceware.org> Date: Fri, 28 Oct 2022 17:39:43 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f221a34710cc48552f43b26a716d70651e9ed183 commit f221a34710cc48552f43b26a716d70651e9ed183 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)