Skip to content

Commit 8761a9b

Browse files
committed
Remove PyBytesWriter_SetSize()
1 parent e24d40e commit 8761a9b

File tree

3 files changed

+11
-35
lines changed

3 files changed

+11
-35
lines changed

Include/cpython/bytesobject.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,6 @@ PyAPI_FUNC(void*) PyBytesWriter_Data(
6464
PyAPI_FUNC(Py_ssize_t) PyBytesWriter_Allocated(
6565
PyBytesWriter *writer);
6666

67-
PyAPI_FUNC(int) PyBytesWriter_SetSize(
68-
PyBytesWriter *writer,
69-
Py_ssize_t size);
7067
PyAPI_FUNC(int) PyBytesWriter_Resize(
7168
PyBytesWriter *writer,
72-
Py_ssize_t alloc);
69+
Py_ssize_t size);

Modules/_pickle.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2633,9 +2633,6 @@ raw_unicode_escape(PyObject *obj)
26332633
/* -1: subtract 1 preallocated byte */
26342634
alloc += 10-1;
26352635
Py_ssize_t pos = p - (char*)PyBytesWriter_Data(writer);
2636-
if (PyBytesWriter_SetSize(writer, pos) < 0) {
2637-
goto error;
2638-
}
26392636
if (PyBytesWriter_Resize(writer, alloc) < 0) {
26402637
goto error;
26412638
}
@@ -2660,9 +2657,6 @@ raw_unicode_escape(PyObject *obj)
26602657
/* -1: subtract 1 preallocated byte */
26612658
alloc += 6-1;
26622659
Py_ssize_t pos = p - (char*)PyBytesWriter_Data(writer);
2663-
if (PyBytesWriter_SetSize(writer, pos) < 0) {
2664-
goto error;
2665-
}
26662660
if (PyBytesWriter_Resize(writer, alloc) < 0) {
26672661
goto error;
26682662
}

Objects/bytesobject.c

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,6 @@ PyBytes_FromFormatV(const char *format, va_list vargs)
225225
size_t len = (len_expr); \
226226
alloc += len; \
227227
Py_ssize_t pos = s - (char*)PyBytesWriter_Data(writer); \
228-
if (PyBytesWriter_SetSize(writer, pos) < 0) { \
229-
goto error; \
230-
} \
231228
if (PyBytesWriter_Resize(writer, alloc) < 0) { \
232229
goto error; \
233230
} \
@@ -2875,9 +2872,6 @@ _PyBytes_FromList(PyObject *x)
28752872

28762873
if (i >= size) {
28772874
Py_ssize_t pos = str - (char*)PyBytesWriter_Data(writer);
2878-
if (PyBytesWriter_SetSize(writer, pos) < 0) {
2879-
goto error;
2880-
}
28812875
if (PyBytesWriter_Resize(writer, size + 1) < 0) {
28822876
goto error;
28832877
}
@@ -3798,11 +3792,10 @@ byteswriter_resize(PyBytesWriter *writer, Py_ssize_t size, int overallocate)
37983792
if (writer->obj == NULL) {
37993793
return -1;
38003794
}
3801-
if (writer->size) {
3802-
memcpy(PyBytes_AS_STRING(writer->obj),
3803-
writer->small_buffer,
3804-
writer->size);
3805-
}
3795+
assert((size_t)size > sizeof(writer->small_buffer));
3796+
memcpy(PyBytes_AS_STRING(writer->obj),
3797+
writer->small_buffer,
3798+
sizeof(writer->small_buffer));
38063799
}
38073800
return 0;
38083801
}
@@ -3912,23 +3905,15 @@ PyBytesWriter_Allocated(PyBytesWriter *writer)
39123905

39133906

39143907
int
3915-
PyBytesWriter_SetSize(PyBytesWriter *writer, Py_ssize_t size)
3908+
PyBytesWriter_Resize(PyBytesWriter *writer, Py_ssize_t size)
39163909
{
3917-
if (size < 0 || size > byteswriter_allocated(writer)) {
3918-
PyErr_SetString(PyExc_ValueError, "invalid size");
3910+
if (size < 0) {
3911+
PyErr_SetString(PyExc_ValueError, "size must be >= 0");
39193912
return -1;
39203913
}
3921-
writer->size = size;
3922-
return 0;
3923-
}
3924-
3925-
3926-
int
3927-
PyBytesWriter_Resize(PyBytesWriter *writer, Py_ssize_t alloc)
3928-
{
3929-
if (alloc < 0) {
3930-
PyErr_SetString(PyExc_ValueError, "alloc must be >= 0");
3914+
if (byteswriter_resize(writer, size, 1) < 0) {
39313915
return -1;
39323916
}
3933-
return byteswriter_resize(writer, alloc, 1);
3917+
writer->size = size;
3918+
return 0;
39343919
}

0 commit comments

Comments
 (0)