so _PyUnicodeWriter_Dealloc() can be called on the writer after finish.
PyObject *
_PyUnicodeWriter_Finish(_PyUnicodeWriter *writer)
{
+ PyObject *str;
if (writer->pos == 0) {
Py_XDECREF(writer->buffer);
_Py_RETURN_UNICODE_EMPTY();
}
writer->buffer = newbuffer;
}
- assert(_PyUnicode_CheckConsistency(writer->buffer, 1));
- return unicode_result_ready(writer->buffer);
+ str = writer->buffer;
+ writer->buffer = NULL;
+ assert(_PyUnicode_CheckConsistency(str, 1));
+ return unicode_result_ready(str);
}
void