New submission from STINNER Victor <victor.stin...@haypocalc.com>:

Error handling of PyUnicode_EncodeDecimal() is broken by design. The caller 
cannot know the size of the output buffer because each error handler produce a 
variable output, whereas the caller has to allocate 
this buffer and it is not possible to specify the size of the output buffer.

I propose to raise a ValueError if the error handler is different than "strict" 
and do this change in Python 2.7, 3.2 and 3.3.

In Python 2.7 code base, PyUnicode_EncodeDecimal() is always called with 
errors=NULL. In Python 3.x, the function is no more called.

Attached patch is for Python 3.2.

See also the issue #13093.

----------
components: Unicode
files: encode_decimal_errors.patch
keywords: patch
messages: 148111
nosy: ezio.melotti, haypo, loewis, skrah
priority: normal
severity: normal
status: open
title: PyUnicode_EncodeDecimal: reject error handlers different than strict
versions: Python 2.7, Python 3.2, Python 3.3
Added file: http://bugs.python.org/file23754/encode_decimal_errors.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13452>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to