| From 3f773a3fb7c2ff965f5ec8dadb348a99ca5c2874 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= |
| <alexey.pawlow@gmail.com> |
| Date: Thu, 17 Jun 2021 18:52:03 +0530 |
| Subject: [PATCH 059/N] use gnu_printf in format |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| Co-authored-by: Алексей <alexey.pawlow@gmail.com> |
| --- |
| Include/bytesobject.h | 4 ++-- |
| Include/pyerrors.h | 4 ++-- |
| Include/pyport.h | 6 ++++++ |
| Include/sysmodule.h | 4 ++-- |
| 4 files changed, 12 insertions(+), 6 deletions(-) |
| |
| diff --git a/Include/bytesobject.h b/Include/bytesobject.h |
| index 5062d8d..627e8b2 100644 |
| --- a/Include/bytesobject.h |
| +++ b/Include/bytesobject.h |
| @@ -38,9 +38,9 @@ PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t); |
| PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *); |
| PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *); |
| PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list) |
| - Py_GCC_ATTRIBUTE((format(printf, 1, 0))); |
| + Py_PRINTF(1, 0); |
| PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...) |
| - Py_GCC_ATTRIBUTE((format(printf, 1, 2))); |
| + Py_PRINTF(1, 2); |
| PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *); |
| PyAPI_FUNC(char *) PyBytes_AsString(PyObject *); |
| PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int); |
| diff --git a/Include/pyerrors.h b/Include/pyerrors.h |
| index 979a26b..28cfb0f 100644 |
| --- a/Include/pyerrors.h |
| +++ b/Include/pyerrors.h |
| @@ -310,9 +310,9 @@ PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason( |
| ); |
| |
| PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...) |
| - Py_GCC_ATTRIBUTE((format(printf, 3, 4))); |
| + Py_PRINTF(3, 4); |
| PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) |
| - Py_GCC_ATTRIBUTE((format(printf, 3, 0))); |
| + Py_PRINTF(3, 0); |
| |
| #ifndef Py_LIMITED_API |
| # define Py_CPYTHON_ERRORS_H |
| diff --git a/Include/pyport.h b/Include/pyport.h |
| index a05fa3a..0972630 100644 |
| --- a/Include/pyport.h |
| +++ b/Include/pyport.h |
| @@ -798,6 +798,12 @@ extern char * _getpty(int *, int, mode_t, int); |
| |
| #define Py_VA_COPY va_copy |
| |
| +#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4) |
| +# define Py_PRINTF(X,Y) Py_GCC_ATTRIBUTE((format(gnu_printf,X,Y))) |
| +#else |
| +# define Py_PRINTF(X,Y) Py_GCC_ATTRIBUTE((format(printf,X,Y))) |
| +#endif |
| + |
| /* |
| * Convenient macros to deal with endianness of the platform. WORDS_BIGENDIAN is |
| * detected by configure and defined in pyconfig.h. The code in pyconfig.h |
| diff --git a/Include/sysmodule.h b/Include/sysmodule.h |
| index 670e5d2..d582963 100644 |
| --- a/Include/sysmodule.h |
| +++ b/Include/sysmodule.h |
| @@ -15,9 +15,9 @@ PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int); |
| PyAPI_FUNC(void) PySys_SetPath(const wchar_t *); |
| |
| PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...) |
| - Py_GCC_ATTRIBUTE((format(printf, 1, 2))); |
| + Py_PRINTF(1, 2); |
| PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...) |
| - Py_GCC_ATTRIBUTE((format(printf, 1, 2))); |
| + Py_PRINTF(1, 2); |
| PyAPI_FUNC(void) PySys_FormatStdout(const char *format, ...); |
| PyAPI_FUNC(void) PySys_FormatStderr(const char *format, ...); |
| |
| -- |
| 2.32.0 |
| |