@@ -169,38 +169,40 @@ constevaluator_call(PyObject *self, PyObject *args, PyObject *kwargs)
169
169
}
170
170
PyObject * value = ((constevaluatorobject * )self )-> value ;
171
171
if (format == 3 ) { // SOURCE
172
- _PyUnicodeWriter writer ;
173
- _PyUnicodeWriter_Init (& writer );
172
+ PyUnicodeWriter * writer = PyUnicodeWriter_Create (5 ); // cannot be <5
173
+ if (writer == NULL ) {
174
+ return NULL ;
175
+ }
174
176
if (PyTuple_Check (value )) {
175
- if (_PyUnicodeWriter_WriteASCIIString ( & writer , "(" , 1 ) < 0 ) {
176
- _PyUnicodeWriter_Dealloc ( & writer );
177
+ if (PyUnicodeWriter_WriteChar ( writer , '(' ) < 0 ) {
178
+ PyUnicodeWriter_Discard ( writer );
177
179
return NULL ;
178
180
}
179
181
for (Py_ssize_t i = 0 ; i < PyTuple_GET_SIZE (value ); i ++ ) {
180
182
PyObject * item = PyTuple_GET_ITEM (value , i );
181
183
if (i > 0 ) {
182
- if (_PyUnicodeWriter_WriteASCIIString ( & writer , ", " , 2 ) < 0 ) {
183
- _PyUnicodeWriter_Dealloc ( & writer );
184
+ if (PyUnicodeWriter_WriteUTF8 ( writer , ", " , 2 ) < 0 ) {
185
+ PyUnicodeWriter_Discard ( writer );
184
186
return NULL ;
185
187
}
186
188
}
187
- if (_Py_typing_type_repr (& writer , item ) < 0 ) {
188
- _PyUnicodeWriter_Dealloc ( & writer );
189
+ if (_Py_typing_type_repr (writer , item ) < 0 ) {
190
+ PyUnicodeWriter_Discard ( writer );
189
191
return NULL ;
190
192
}
191
193
}
192
- if (_PyUnicodeWriter_WriteASCIIString ( & writer , ")" , 1 ) < 0 ) {
193
- _PyUnicodeWriter_Dealloc ( & writer );
194
+ if (PyUnicodeWriter_WriteChar ( writer , ')' ) < 0 ) {
195
+ PyUnicodeWriter_Discard ( writer );
194
196
return NULL ;
195
197
}
196
198
}
197
199
else {
198
- if (_Py_typing_type_repr (& writer , value ) < 0 ) {
199
- _PyUnicodeWriter_Dealloc ( & writer );
200
+ if (_Py_typing_type_repr (writer , value ) < 0 ) {
201
+ PyUnicodeWriter_Discard ( writer );
200
202
return NULL ;
201
203
}
202
204
}
203
- return _PyUnicodeWriter_Finish ( & writer );
205
+ return PyUnicodeWriter_Finish ( writer );
204
206
}
205
207
return Py_NewRef (value );
206
208
}
@@ -259,7 +261,7 @@ _Py_typing_type_repr(PyUnicodeWriter *writer, PyObject *p)
259
261
}
260
262
261
263
if (p == (PyObject * )& _PyNone_Type ) {
262
- return _PyUnicodeWriter_WriteASCIIString (writer , "None" , 4 );
264
+ return PyUnicodeWriter_WriteUTF8 (writer , "None" , 4 );
263
265
}
264
266
265
267
if ((rc = PyObject_HasAttrWithError (p , & _Py_ID (__origin__ ))) > 0 &&
@@ -306,7 +308,7 @@ _Py_typing_type_repr(PyUnicodeWriter *writer, PyObject *p)
306
308
if (r == NULL ) {
307
309
return -1 ;
308
310
}
309
- rc = _PyUnicodeWriter_WriteStr (writer , r );
311
+ rc = PyUnicodeWriter_WriteStr (writer , r );
310
312
Py_DECREF (r );
311
313
return rc ;
312
314
}
0 commit comments