83 lines
3.4 KiB
Diff
83 lines
3.4 KiB
Diff
From b7a2f355a338d5b7f0134bab19653e57797c49c0 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 030/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 ee448cd..d10ec3f 100644
|
|
--- a/Include/bytesobject.h
|
|
+++ b/Include/bytesobject.h
|
|
@@ -35,9 +35,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 d089fa7..f8e604e 100644
|
|
--- a/Include/pyerrors.h
|
|
+++ b/Include/pyerrors.h
|
|
@@ -321,9 +321,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 ddff496..df363d0 100644
|
|
--- a/Include/pyport.h
|
|
+++ b/Include/pyport.h
|
|
@@ -666,6 +666,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 96f8838..55c558a 100644
|
|
--- a/Include/sysmodule.h
|
|
+++ b/Include/sysmodule.h
|
|
@@ -15,9 +15,9 @@ Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
|
|
Py_DEPRECATED(3.11) 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, ...);
|
|
|