Bug #1556784: allow format strings longer than 127 characters in

datetime's strftime function.
 (backport from rev. 52072)
This commit is contained in:
Georg Brandl 2006-09-30 11:17:43 +00:00
parent 7037745be7
commit 6d7c36332f
3 changed files with 6 additions and 2 deletions

View File

@ -844,6 +844,7 @@ class TestDate(HarmlessMixedComparison):
t = self.theclass(2005, 3, 2)
self.assertEqual(t.strftime("m:%m d:%d y:%y"), "m:03 d:02 y:05")
self.assertEqual(t.strftime(""), "") # SF bug #761337
self.assertEqual(t.strftime('x'*1000), 'x'*1000) # SF bug #1556784
self.assertRaises(TypeError, t.strftime) # needs an arg
self.assertRaises(TypeError, t.strftime, "one", "two") # too many args

View File

@ -35,6 +35,9 @@ Core and builtins
Extension Modules
-----------------
- Bug #1556784: allow format strings longer than 127 characters in
datetime's strftime function.
- Fix itertools.count(n) to work with negative numbers again.

View File

@ -1149,9 +1149,9 @@ wrap_strftime(PyObject *object, PyObject *format, PyObject *timetuple,
PyObject *newfmt = NULL; /* py string, the output format */
char *pnew; /* pointer to available byte in output format */
char totalnew; /* number bytes total in output format buffer,
int totalnew; /* number bytes total in output format buffer,
exclusive of trailing \0 */
char usednew; /* number bytes used so far in output format buffer */
int usednew; /* number bytes used so far in output format buffer */
char *ptoappend; /* pointer to string to append to output buffer */
int ntoappend; /* # of bytes to append to output buffer */