Skip to content

Commit 097f74a

Browse files
authored
bpo-46670: Define all macros for stringlib (GH-31176)
bytesobject.c, bytearrayobject.c and unicodeobject.c now define all macros used by stringlib, to avoid using undefined macros. Fix "gcc -Wundef" warnings.
1 parent 16f96a4 commit 097f74a

File tree

10 files changed

+24
-17
lines changed

10 files changed

+24
-17
lines changed

Objects/bytearrayobject.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,7 @@ bytearray_dealloc(PyByteArrayObject *self)
10741074
/* -------------------------------------------------------------------- */
10751075
/* Methods */
10761076

1077+
#define STRINGLIB_IS_UNICODE 0
10771078
#define FASTSEARCH fastsearch
10781079
#define STRINGLIB(F) stringlib_##F
10791080
#define STRINGLIB_CHAR char

Objects/bytesobject.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,6 +1235,7 @@ PyBytes_AsStringAndSize(PyObject *obj,
12351235
#define STRINGLIB_GET_EMPTY() bytes_get_empty()
12361236

12371237
#include "stringlib/stringdefs.h"
1238+
#define STRINGLIB_MUTABLE 0
12381239

12391240
#include "stringlib/fastsearch.h"
12401241
#include "stringlib/count.h"

Objects/stringlib/asciilib.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define STRINGLIB_NEW(STR,LEN) _PyUnicode_FromASCII((const char*)(STR),(LEN))
2121
#define STRINGLIB_CHECK PyUnicode_Check
2222
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
23+
#define STRINGLIB_MUTABLE 0
2324

2425
#define STRINGLIB_TOSTR PyObject_Str
2526
#define STRINGLIB_TOASCII PyObject_ASCII

Objects/stringlib/join.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ STRINGLIB(bytes_join)(PyObject *sep, PyObject *iterable)
3232
Py_DECREF(seq);
3333
return STRINGLIB_NEW(NULL, 0);
3434
}
35-
#ifndef STRINGLIB_MUTABLE
35+
#if !STRINGLIB_MUTABLE
3636
if (seqlen == 1) {
3737
item = PySequence_Fast_GET_ITEM(seq, 0);
3838
if (STRINGLIB_CHECK_EXACT(item)) {

Objects/stringlib/split.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ STRINGLIB(split_whitespace)(PyObject* str_obj,
7070
j = i; i++;
7171
while (i < str_len && !STRINGLIB_ISSPACE(str[i]))
7272
i++;
73-
#ifndef STRINGLIB_MUTABLE
73+
#if !STRINGLIB_MUTABLE
7474
if (j == 0 && i == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
7575
/* No whitespace in str_obj, so just use it as list[0] */
7676
Py_INCREF(str_obj);
@@ -122,7 +122,7 @@ STRINGLIB(split_char)(PyObject* str_obj,
122122
}
123123
}
124124
}
125-
#ifndef STRINGLIB_MUTABLE
125+
#if !STRINGLIB_MUTABLE
126126
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
127127
/* ch not in str_obj, so just use str_obj as list[0] */
128128
Py_INCREF(str_obj);
@@ -170,7 +170,7 @@ STRINGLIB(split)(PyObject* str_obj,
170170
SPLIT_ADD(str, i, j);
171171
i = j + sep_len;
172172
}
173-
#ifndef STRINGLIB_MUTABLE
173+
#if !STRINGLIB_MUTABLE
174174
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
175175
/* No match in str_obj, so just use it as list[0] */
176176
Py_INCREF(str_obj);
@@ -209,7 +209,7 @@ STRINGLIB(rsplit_whitespace)(PyObject* str_obj,
209209
j = i; i--;
210210
while (i >= 0 && !STRINGLIB_ISSPACE(str[i]))
211211
i--;
212-
#ifndef STRINGLIB_MUTABLE
212+
#if !STRINGLIB_MUTABLE
213213
if (j == str_len - 1 && i < 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
214214
/* No whitespace in str_obj, so just use it as list[0] */
215215
Py_INCREF(str_obj);
@@ -262,7 +262,7 @@ STRINGLIB(rsplit_char)(PyObject* str_obj,
262262
}
263263
}
264264
}
265-
#ifndef STRINGLIB_MUTABLE
265+
#if !STRINGLIB_MUTABLE
266266
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
267267
/* ch not in str_obj, so just use str_obj as list[0] */
268268
Py_INCREF(str_obj);
@@ -311,7 +311,7 @@ STRINGLIB(rsplit)(PyObject* str_obj,
311311
SPLIT_ADD(str, pos + sep_len, j);
312312
j = pos;
313313
}
314-
#ifndef STRINGLIB_MUTABLE
314+
#if !STRINGLIB_MUTABLE
315315
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
316316
/* No match in str_obj, so just use it as list[0] */
317317
Py_INCREF(str_obj);
@@ -370,7 +370,7 @@ STRINGLIB(splitlines)(PyObject* str_obj,
370370
if (keepends)
371371
eol = i;
372372
}
373-
#ifndef STRINGLIB_MUTABLE
373+
#if !STRINGLIB_MUTABLE
374374
if (j == 0 && eol == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
375375
/* No linebreak in str_obj, so just use it as list[0] */
376376
if (PyList_Append(list, str_obj))

Objects/stringlib/ucs1lib.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define STRINGLIB_NEW _PyUnicode_FromUCS1
2121
#define STRINGLIB_CHECK PyUnicode_Check
2222
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
23+
#define STRINGLIB_MUTABLE 0
2324

2425
#define STRINGLIB_TOSTR PyObject_Str
2526
#define STRINGLIB_TOASCII PyObject_ASCII

Objects/stringlib/ucs2lib.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define STRINGLIB_NEW _PyUnicode_FromUCS2
2121
#define STRINGLIB_CHECK PyUnicode_Check
2222
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
23+
#define STRINGLIB_MUTABLE 0
2324

2425
#define STRINGLIB_TOSTR PyObject_Str
2526
#define STRINGLIB_TOASCII PyObject_ASCII

Objects/stringlib/ucs4lib.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define STRINGLIB_NEW _PyUnicode_FromUCS4
2121
#define STRINGLIB_CHECK PyUnicode_Check
2222
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
23+
#define STRINGLIB_MUTABLE 0
2324

2425
#define STRINGLIB_TOSTR PyObject_Str
2526
#define STRINGLIB_TOASCII PyObject_ASCII

Objects/stringlib/undef.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#undef FASTSEARCH
2-
#undef STRINGLIB
3-
#undef STRINGLIB_SIZEOF_CHAR
4-
#undef STRINGLIB_MAX_CHAR
5-
#undef STRINGLIB_CHAR
6-
#undef STRINGLIB_STR
7-
#undef STRINGLIB_LEN
8-
#undef STRINGLIB_NEW
1+
#undef FASTSEARCH
2+
#undef STRINGLIB
3+
#undef STRINGLIB_SIZEOF_CHAR
4+
#undef STRINGLIB_MAX_CHAR
5+
#undef STRINGLIB_CHAR
6+
#undef STRINGLIB_STR
7+
#undef STRINGLIB_LEN
8+
#undef STRINGLIB_NEW
99
#undef STRINGLIB_IS_UNICODE
10-
10+
#undef STRINGLIB_MUTABLE

Objects/stringlib/unicodedefs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#define STRINGLIB_NEW PyUnicode_FromUnicode
2323
#define STRINGLIB_CHECK PyUnicode_Check
2424
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
25+
#define STRINGLIB_MUTABLE 0
2526

2627
#define STRINGLIB_TOSTR PyObject_Str
2728
#define STRINGLIB_TOASCII PyObject_ASCII

0 commit comments

Comments
 (0)