]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46670: Define all macros for stringlib (GH-31176)
authorVictor Stinner <vstinner@python.org>
Mon, 7 Feb 2022 00:26:58 +0000 (01:26 +0100)
committerGitHub <noreply@github.com>
Mon, 7 Feb 2022 00:26:58 +0000 (01:26 +0100)
bytesobject.c, bytearrayobject.c and unicodeobject.c now define all
macros used by stringlib, to avoid using undefined macros.
Fix "gcc -Wundef" warnings.

Objects/bytearrayobject.c
Objects/bytesobject.c
Objects/stringlib/asciilib.h
Objects/stringlib/join.h
Objects/stringlib/split.h
Objects/stringlib/ucs1lib.h
Objects/stringlib/ucs2lib.h
Objects/stringlib/ucs4lib.h
Objects/stringlib/undef.h
Objects/stringlib/unicodedefs.h

index a6009854221ff555f6473869eca8093fcdabcd04..8fce83dbfb50b046ebc18a27aad79a2658f0c258 100644 (file)
@@ -1074,6 +1074,7 @@ bytearray_dealloc(PyByteArrayObject *self)
 /* -------------------------------------------------------------------- */
 /* Methods */
 
+#define STRINGLIB_IS_UNICODE 0
 #define FASTSEARCH fastsearch
 #define STRINGLIB(F) stringlib_##F
 #define STRINGLIB_CHAR char
index b6edfb9acb2dbb593a6d4eca6dd2590845bc292c..cfc358f4deba260bd3e8f5f0db64ccba658a36e7 100644 (file)
@@ -1235,6 +1235,7 @@ PyBytes_AsStringAndSize(PyObject *obj,
 #define STRINGLIB_GET_EMPTY() bytes_get_empty()
 
 #include "stringlib/stringdefs.h"
+#define STRINGLIB_MUTABLE 0
 
 #include "stringlib/fastsearch.h"
 #include "stringlib/count.h"
index 7749e8fb3398228bfae1ddf77e9416dfe466d989..eebe888e411e043a6ac9297ae6babc2da41c9b85 100644 (file)
@@ -20,6 +20,7 @@
 #define STRINGLIB_NEW(STR,LEN)   _PyUnicode_FromASCII((const char*)(STR),(LEN))
 #define STRINGLIB_CHECK          PyUnicode_Check
 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
 
 #define STRINGLIB_TOSTR          PyObject_Str
 #define STRINGLIB_TOASCII        PyObject_ASCII
index 62e4c98de7f250ba0b77bb704e3c1a04d518e669..bb011f7db796d8e4d603840d98be5ee05980a7c5 100644 (file)
@@ -32,7 +32,7 @@ STRINGLIB(bytes_join)(PyObject *sep, PyObject *iterable)
         Py_DECREF(seq);
         return STRINGLIB_NEW(NULL, 0);
     }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
     if (seqlen == 1) {
         item = PySequence_Fast_GET_ITEM(seq, 0);
         if (STRINGLIB_CHECK_EXACT(item)) {
index 068047f9874a073b62d1d84c5dcca71152fd614f..0c11b7214e9b0b88dac35f6be7bb76bb3b60e381 100644 (file)
@@ -70,7 +70,7 @@ STRINGLIB(split_whitespace)(PyObject* str_obj,
         j = i; i++;
         while (i < str_len && !STRINGLIB_ISSPACE(str[i]))
             i++;
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
         if (j == 0 && i == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
             /* No whitespace in str_obj, so just use it as list[0] */
             Py_INCREF(str_obj);
@@ -122,7 +122,7 @@ STRINGLIB(split_char)(PyObject* str_obj,
             }
         }
     }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
     if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
         /* ch not in str_obj, so just use str_obj as list[0] */
         Py_INCREF(str_obj);
@@ -170,7 +170,7 @@ STRINGLIB(split)(PyObject* str_obj,
         SPLIT_ADD(str, i, j);
         i = j + sep_len;
     }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
     if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
         /* No match in str_obj, so just use it as list[0] */
         Py_INCREF(str_obj);
@@ -209,7 +209,7 @@ STRINGLIB(rsplit_whitespace)(PyObject* str_obj,
         j = i; i--;
         while (i >= 0 && !STRINGLIB_ISSPACE(str[i]))
             i--;
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
         if (j == str_len - 1 && i < 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
             /* No whitespace in str_obj, so just use it as list[0] */
             Py_INCREF(str_obj);
@@ -262,7 +262,7 @@ STRINGLIB(rsplit_char)(PyObject* str_obj,
             }
         }
     }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
     if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
         /* ch not in str_obj, so just use str_obj as list[0] */
         Py_INCREF(str_obj);
@@ -311,7 +311,7 @@ STRINGLIB(rsplit)(PyObject* str_obj,
         SPLIT_ADD(str, pos + sep_len, j);
         j = pos;
     }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
     if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
         /* No match in str_obj, so just use it as list[0] */
         Py_INCREF(str_obj);
@@ -370,7 +370,7 @@ STRINGLIB(splitlines)(PyObject* str_obj,
             if (keepends)
                 eol = i;
         }
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
         if (j == 0 && eol == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
             /* No linebreak in str_obj, so just use it as list[0] */
             if (PyList_Append(list, str_obj))
index 5b0b8a025e808f88daf0eefc433635ff0d1b57f2..026ab11f1f7b82a06753a0dc696b80a633fb0d03 100644 (file)
@@ -20,6 +20,7 @@
 #define STRINGLIB_NEW            _PyUnicode_FromUCS1
 #define STRINGLIB_CHECK          PyUnicode_Check
 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
 
 #define STRINGLIB_TOSTR          PyObject_Str
 #define STRINGLIB_TOASCII        PyObject_ASCII
index 6af01511c5f8ab085e9649d385c476c870ef9e8e..75f11bc290508a96186e5b7ef087942fac4647f7 100644 (file)
@@ -20,6 +20,7 @@
 #define STRINGLIB_NEW            _PyUnicode_FromUCS2
 #define STRINGLIB_CHECK          PyUnicode_Check
 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
 
 #define STRINGLIB_TOSTR          PyObject_Str
 #define STRINGLIB_TOASCII        PyObject_ASCII
index 39071a0cdf0cde5b42b7cb07c4364358e999c88b..57344f235b659db6122757ea4a188f6967a625fc 100644 (file)
@@ -20,6 +20,7 @@
 #define STRINGLIB_NEW            _PyUnicode_FromUCS4
 #define STRINGLIB_CHECK          PyUnicode_Check
 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
 
 #define STRINGLIB_TOSTR          PyObject_Str
 #define STRINGLIB_TOASCII        PyObject_ASCII
index c41e254fde6f4d4cee8bb99e2900e821830b0250..bf32298505ed71539941c7a24e66e893e323f94e 100644 (file)
@@ -1,10 +1,10 @@
-#undef  FASTSEARCH
-#undef  STRINGLIB
-#undef  STRINGLIB_SIZEOF_CHAR
-#undef  STRINGLIB_MAX_CHAR
-#undef  STRINGLIB_CHAR
-#undef  STRINGLIB_STR
-#undef  STRINGLIB_LEN
-#undef  STRINGLIB_NEW
+#undef FASTSEARCH
+#undef STRINGLIB
+#undef STRINGLIB_SIZEOF_CHAR
+#undef STRINGLIB_MAX_CHAR
+#undef STRINGLIB_CHAR
+#undef STRINGLIB_STR
+#undef STRINGLIB_LEN
+#undef STRINGLIB_NEW
 #undef STRINGLIB_IS_UNICODE
-
+#undef STRINGLIB_MUTABLE
index 5ea79cd4f50ac3f2801d8bdb8a8e9baebd3cf744..ba2ce0aeea1ccedbd218caeb3576a6bd87888e8b 100644 (file)
@@ -22,6 +22,7 @@
 #define STRINGLIB_NEW            PyUnicode_FromUnicode
 #define STRINGLIB_CHECK          PyUnicode_Check
 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
 
 #define STRINGLIB_TOSTR          PyObject_Str
 #define STRINGLIB_TOASCII        PyObject_ASCII