]> granicus.if.org Git - python/commitdiff
Use Py_ssize_t to hold the 'width' argument to the ljust, rjust, center and
authorThomas Wouters <thomas@python.org>
Wed, 19 Apr 2006 14:50:15 +0000 (14:50 +0000)
committerThomas Wouters <thomas@python.org>
Wed, 19 Apr 2006 14:50:15 +0000 (14:50 +0000)
zfill stringmethods, so they can create strings larger than 2Gb on 64bit
systems (even win64.) The unicode versions of these methods already did this
right.

Objects/stringobject.c

index ef3b825037eab7f2a445fedd304496ae563d6d74..a0c6a536c63b1f4bed06d98c630e3319fbebb04b 100644 (file)
@@ -2860,10 +2860,10 @@ PyDoc_STRVAR(ljust__doc__,
 static PyObject *
 string_ljust(PyStringObject *self, PyObject *args)
 {
-    int width;
+    Py_ssize_t width;
     char fillchar = ' ';
 
-    if (!PyArg_ParseTuple(args, "i|c:ljust", &width, &fillchar))
+    if (!PyArg_ParseTuple(args, "n|c:ljust", &width, &fillchar))
         return NULL;
 
     if (PyString_GET_SIZE(self) >= width && PyString_CheckExact(self)) {
@@ -2884,10 +2884,10 @@ PyDoc_STRVAR(rjust__doc__,
 static PyObject *
 string_rjust(PyStringObject *self, PyObject *args)
 {
-    int width;
+    Py_ssize_t width;
     char fillchar = ' ';
 
-    if (!PyArg_ParseTuple(args, "i|c:rjust", &width, &fillchar))
+    if (!PyArg_ParseTuple(args, "n|c:rjust", &width, &fillchar))
         return NULL;
 
     if (PyString_GET_SIZE(self) >= width && PyString_CheckExact(self)) {
@@ -2909,10 +2909,10 @@ static PyObject *
 string_center(PyStringObject *self, PyObject *args)
 {
     Py_ssize_t marg, left;
-    long width;
+    Py_ssize_t width;
     char fillchar = ' ';
 
-    if (!PyArg_ParseTuple(args, "l|c:center", &width, &fillchar))
+    if (!PyArg_ParseTuple(args, "n|c:center", &width, &fillchar))
         return NULL;
 
     if (PyString_GET_SIZE(self) >= width && PyString_CheckExact(self)) {
@@ -2938,9 +2938,9 @@ string_zfill(PyStringObject *self, PyObject *args)
     Py_ssize_t fill;
     PyObject *s;
     char *p;
+    Py_ssize_t width;
 
-    long width;
-    if (!PyArg_ParseTuple(args, "l:zfill", &width))
+    if (!PyArg_ParseTuple(args, "n:zfill", &width))
         return NULL;
 
     if (PyString_GET_SIZE(self) >= width) {