Message383378
The docs for PyUnicode_FSConverter and PyUnicode_FSDecoder could be improved on two points:
- The functions also reject str/bytes that contain null bytes (one can easily verify that there's a specific check for them in the C implementations). Currently the docs only say that the converters use PyUnicode_EncodeFSDefault/PyUnicode_DecodeFSDefaultAndSize, but those don't check for null bytes.
- The functions only ever return 1 or 0 (indicating success or failures), which means that one can just use e.g. `if (!PyUnicode_FSConverter(foo, &bar)) { goto error; } ...` (this pattern occurs repeatedly in the CPython codebase). In theory, given that the functions are only documented as being "O&"-converters, they could also be returning Py_CLEANUP_SUPPORTED in which case they'd need to be called a second time on failure to release allocated memory. |
|
Date |
User |
Action |
Args |
2020-12-19 12:51:17 | Antony.Lee | set | recipients:
+ Antony.Lee, docs@python |
2020-12-19 12:51:17 | Antony.Lee | set | messageid: <1608382277.1.0.605007079577.issue42684@roundup.psfhosted.org> |
2020-12-19 12:51:17 | Antony.Lee | link | issue42684 messages |
2020-12-19 12:51:16 | Antony.Lee | create | |
|