STINNER Victor added the comment: 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. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25029> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com