[Python-checkins] r45563 - python/trunk/Objects/stringobject.c
thomas.wouters
python-checkins at python.org
Wed Apr 19 16:50:16 CEST 2006
Author: thomas.wouters
Date: Wed Apr 19 16:50:15 2006
New Revision: 45563
Modified:
python/trunk/Objects/stringobject.c
Log:
Use Py_ssize_t to hold the 'width' argument to the ljust, rjust, center and
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.
Modified: python/trunk/Objects/stringobject.c
==============================================================================
--- python/trunk/Objects/stringobject.c (original)
+++ python/trunk/Objects/stringobject.c Wed Apr 19 16:50:15 2006
@@ -2860,10 +2860,10 @@
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 @@
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 @@
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 @@
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) {
More information about the Python-checkins
mailing list