This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Remove the API PyUnicode_AsString()
Type: enhancement Stage:
Components: Interpreter Core, Unicode Versions: Python 3.0
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Remove _PyUnicode_AsString(), rework _PyUnicode_AsStringAndSize(), add PyUnicode_AsChar()
View: 2799
Assigned To: Nosy List: alexandre.vassalotti, lemburg
Priority: normal Keywords:

Created on 2008-05-09 22:31 by alexandre.vassalotti, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (3)
msg66495 - (view) Author: Alexandre Vassalotti (alexandre.vassalotti) * (Python committer) Date: 2008-05-09 22:31
Marc-Andre Lemburg noted:

  BTW: The API PyUnicode_AsString() is pretty useless by itself - there's
  no way to access the size information of the returned string without
  again going to the Unicode object.
  
  I'd suggest to remove the API altogether and not only deprecating it.
  
  Furthermore, the API PyUnicode_AsStringAndSize() does not follow the API
  signature of PyString_AsStringAndSize() in that it passes back the
  pointer to the string as output parameter. That should be changed as
  well. Note that PyString_AsStringAndSize() already does this for both
  8-bit strings and Unicode, so the special Unicode API is not really
  needed at all or you may want to rename PyString_AsStringAndSize() to
  PyUnicode_AsStringAndSize().
  
  Finally, since there are many cases where the string buffer contents are
  copied to a new buffer, it's probably worthwhile to add a new API which
  does the copying straight away and also deals with the overflow cases in
  a central place. I'd suggest PyUnicode_AsChar() (with an API like
  PyUnicode_AsWideChar()).
msg66496 - (view) Author: Alexandre Vassalotti (alexandre.vassalotti) * (Python committer) Date: 2008-05-09 22:40
Honestly, I am not sure if removing PyUnicode_AsString() is a good idea.
There is many cases where the size of the returned string is not needed.
Furthermore, this would be a rather major backward-incompatible change
to be included in a beta release.
msg66497 - (view) Author: Alexandre Vassalotti (alexandre.vassalotti) * (Python committer) Date: 2008-05-09 22:43
Oops, it seems Marc-André has already opened an issue about this.

Closing as duplicate.
History
Date User Action Args
2022-04-11 14:56:34adminsetgithub: 47056
2008-05-09 22:43:17alexandre.vassalottisetstatus: open -> closed
superseder: Remove _PyUnicode_AsString(), rework _PyUnicode_AsStringAndSize(), add PyUnicode_AsChar()
messages: + msg66497
resolution: duplicate
2008-05-09 22:40:00alexandre.vassalottisetmessages: + msg66496
2008-05-09 22:31:26alexandre.vassalotticreate