@@ -164,7 +164,7 @@ CPyTagged CPyBytes_Ord(PyObject *obj) {
164
164
return CPY_INT_TAG ;
165
165
}
166
166
167
- PyObject * CPyBytes_Rjust (PyObject * self , Py_ssize_t width , PyObject * fillbyte ) {
167
+ PyObject * CPyBytes_Rjust (PyObject * self , CPyTagged width , PyObject * fillbyte ) {
168
168
if (!PyBytes_Check (self )) {
169
169
PyErr_SetString (PyExc_TypeError , "self must be bytes" );
170
170
return NULL ;
@@ -173,21 +173,22 @@ PyObject *CPyBytes_Rjust(PyObject *self, Py_ssize_t width, PyObject *fillbyte) {
173
173
PyErr_SetString (PyExc_TypeError , "fillbyte must be a single byte" );
174
174
return NULL ;
175
175
}
176
+ Py_ssize_t width_size_t = CPyTagged_AsSsize_t (width )
176
177
Py_ssize_t len = PyBytes_Size (self );
177
- if (width <= len ) {
178
+ if (width_size_t <= len ) {
178
179
return PyBytes_FromStringAndSize (PyBytes_AsString (self ), len );
179
180
}
180
181
char fill = PyBytes_AsString (fillbyte )[0 ];
181
- Py_ssize_t pad = width - len ;
182
- PyObject * result = PyBytes_FromStringAndSize (NULL , width );
182
+ Py_ssize_t pad = width_size_t - len ;
183
+ PyObject * result = PyBytes_FromStringAndSize (NULL , width_size_t );
183
184
if (!result ) return NULL ;
184
185
char * res_buf = PyBytes_AsString (result );
185
186
memset (res_buf , fill , pad );
186
187
memcpy (res_buf + pad , PyBytes_AsString (self ), len );
187
188
return result ;
188
189
}
189
190
190
- PyObject * CPyBytes_Ljust (PyObject * self , Py_ssize_t width , PyObject * fillbyte ) {
191
+ PyObject * CPyBytes_Ljust (PyObject * self , CPyTagged width , PyObject * fillbyte ) {
191
192
if (!PyBytes_Check (self )) {
192
193
PyErr_SetString (PyExc_TypeError , "self must be bytes" );
193
194
return NULL ;
@@ -196,13 +197,14 @@ PyObject *CPyBytes_Ljust(PyObject *self, Py_ssize_t width, PyObject *fillbyte) {
196
197
PyErr_SetString (PyExc_TypeError , "fillbyte must be a single byte" );
197
198
return NULL ;
198
199
}
200
+ Py_ssize_t width_size_t = CPyTagged_AsSsize_t (width )
199
201
Py_ssize_t len = PyBytes_Size (self );
200
- if (width <= len ) {
202
+ if (width_size_t <= len ) {
201
203
return PyBytes_FromStringAndSize (PyBytes_AsString (self ), len );
202
204
}
203
205
char fill = PyBytes_AsString (fillbyte )[0 ];
204
- Py_ssize_t pad = width - len ;
205
- PyObject * result = PyBytes_FromStringAndSize (NULL , width );
206
+ Py_ssize_t pad = width_size_t - len ;
207
+ PyObject * result = PyBytes_FromStringAndSize (NULL , width_size_t );
206
208
if (!result ) return NULL ;
207
209
char * res_buf = PyBytes_AsString (result );
208
210
memcpy (res_buf , PyBytes_AsString (self ), len );
0 commit comments