Message250206
| Author |
vstinner |
| Recipients |
David.Edelsohn, belopolsky, larry, serhiy.storchaka, steve.dower, vstinner |
| Date |
2015年09月08日.14:10:51 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1441721451.99.0.380501262334.issue25029@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Script to reproduce the issue:
---
import time
import locale
import pprint
time_tuple = time.struct_time((1999,3,17,1,44,55,2,76,0))
p1 = time.strftime("%p", time_tuple)
print("current LC_TIME", repr(p1))
locale.setlocale(locale.LC_TIME, ('de_DE', 'UTF8'))
p2 = time.strftime("%p", time_tuple)
print("de_DE (UTF8)", repr(p2))
---
Output:
---
$ python3.4 bug.py
current LC_TIME 'AM'
de_DE (UTF8) ''
---
The problem is that strftime()/wcsftime() *can* return 0, it's not an error. Whereas c31dad22c80d considers that if buflen is 0 but fmtlen is smaller than 5, we must retry with a larger buffer. |
|