@@ -164,7 +164,7 @@ CPyTagged CPyBytes_Ord(PyObject *obj) {
164164 return CPY_INT_TAG ;
165165}
166166
167- PyObject * CPyBytes_Rjust (PyObject * self , Py_ssize_t width , PyObject * fillbyte ) {
167+ PyObject * CPyBytes_Rjust (PyObject * self , CPyTagged width , PyObject * fillbyte ) {
168168 if (!PyBytes_Check (self )) {
169169 PyErr_SetString (PyExc_TypeError , "self must be bytes" );
170170 return NULL ;
@@ -173,21 +173,22 @@ PyObject *CPyBytes_Rjust(PyObject *self, Py_ssize_t width, PyObject *fillbyte) {
173173 PyErr_SetString (PyExc_TypeError , "fillbyte must be a single byte" );
174174 return NULL ;
175175 }
176+ Py_ssize_t width_size_t = CPyTagged_AsSsize_t (width )
176177 Py_ssize_t len = PyBytes_Size (self );
177- if (width <= len ) {
178+ if (width_size_t <= len ) {
178179 return PyBytes_FromStringAndSize (PyBytes_AsString (self ), len );
179180 }
180181 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 );
183184 if (!result ) return NULL ;
184185 char * res_buf = PyBytes_AsString (result );
185186 memset (res_buf , fill , pad );
186187 memcpy (res_buf + pad , PyBytes_AsString (self ), len );
187188 return result ;
188189}
189190
190- PyObject * CPyBytes_Ljust (PyObject * self , Py_ssize_t width , PyObject * fillbyte ) {
191+ PyObject * CPyBytes_Ljust (PyObject * self , CPyTagged width , PyObject * fillbyte ) {
191192 if (!PyBytes_Check (self )) {
192193 PyErr_SetString (PyExc_TypeError , "self must be bytes" );
193194 return NULL ;
@@ -196,13 +197,14 @@ PyObject *CPyBytes_Ljust(PyObject *self, Py_ssize_t width, PyObject *fillbyte) {
196197 PyErr_SetString (PyExc_TypeError , "fillbyte must be a single byte" );
197198 return NULL ;
198199 }
200+ Py_ssize_t width_size_t = CPyTagged_AsSsize_t (width )
199201 Py_ssize_t len = PyBytes_Size (self );
200- if (width <= len ) {
202+ if (width_size_t <= len ) {
201203 return PyBytes_FromStringAndSize (PyBytes_AsString (self ), len );
202204 }
203205 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 );
206208 if (!result ) return NULL ;
207209 char * res_buf = PyBytes_AsString (result );
208210 memcpy (res_buf , PyBytes_AsString (self ), len );
0 commit comments