mirror of https://github.com/python/cpython
gh-106320: Remove more private _PyUnicode C API functions (#106382)
Remove more private _PyUnicode C API functions: move them to the internal C API (pycore_unicodeobject.h). No longer export most pycore_unicodeobject.h functions.
This commit is contained in:
parent
b24479dcba
commit
506cfdf141
|
@ -394,11 +394,6 @@ static inline int PyUnicode_READY(PyObject* Py_UNUSED(op))
|
|||
}
|
||||
#define PyUnicode_READY(op) PyUnicode_READY(_PyObject_CAST(op))
|
||||
|
||||
/* Get a copy of a Unicode string. */
|
||||
PyAPI_FUNC(PyObject*) _PyUnicode_Copy(
|
||||
PyObject *unicode
|
||||
);
|
||||
|
||||
/* Copy character from one unicode object into another, this function performs
|
||||
character conversion when necessary and falls back to memcpy() if possible.
|
||||
|
||||
|
@ -425,17 +420,6 @@ PyAPI_FUNC(Py_ssize_t) PyUnicode_CopyCharacters(
|
|||
Py_ssize_t how_many
|
||||
);
|
||||
|
||||
/* Unsafe version of PyUnicode_CopyCharacters(): don't check arguments and so
|
||||
may crash if parameters are invalid (e.g. if the output string
|
||||
is too short). */
|
||||
PyAPI_FUNC(void) _PyUnicode_FastCopyCharacters(
|
||||
PyObject *to,
|
||||
Py_ssize_t to_start,
|
||||
PyObject *from,
|
||||
Py_ssize_t from_start,
|
||||
Py_ssize_t how_many
|
||||
);
|
||||
|
||||
/* Fill a string with a character: write fill_char into
|
||||
unicode[start:start+length].
|
||||
|
||||
|
@ -451,15 +435,6 @@ PyAPI_FUNC(Py_ssize_t) PyUnicode_Fill(
|
|||
Py_UCS4 fill_char
|
||||
);
|
||||
|
||||
/* Unsafe version of PyUnicode_Fill(): don't check arguments and so may crash
|
||||
if parameters are invalid (e.g. if length is longer than the string). */
|
||||
PyAPI_FUNC(void) _PyUnicode_FastFill(
|
||||
PyObject *unicode,
|
||||
Py_ssize_t start,
|
||||
Py_ssize_t length,
|
||||
Py_UCS4 fill_char
|
||||
);
|
||||
|
||||
/* Create a new string from a buffer of Py_UCS1, Py_UCS2 or Py_UCS4 characters.
|
||||
Scan the string to find the maximum character. */
|
||||
PyAPI_FUNC(PyObject*) PyUnicode_FromKindAndData(
|
||||
|
@ -467,19 +442,6 @@ PyAPI_FUNC(PyObject*) PyUnicode_FromKindAndData(
|
|||
const void *buffer,
|
||||
Py_ssize_t size);
|
||||
|
||||
/* Create a new string from a buffer of ASCII characters.
|
||||
WARNING: Don't check if the string contains any non-ASCII character. */
|
||||
PyAPI_FUNC(PyObject*) _PyUnicode_FromASCII(
|
||||
const char *buffer,
|
||||
Py_ssize_t size);
|
||||
|
||||
/* Compute the maximum character of the substring unicode[start:end].
|
||||
Return 127 for an empty string. */
|
||||
PyAPI_FUNC(Py_UCS4) _PyUnicode_FindMaxChar (
|
||||
PyObject *unicode,
|
||||
Py_ssize_t start,
|
||||
Py_ssize_t end);
|
||||
|
||||
/* --- Manage the default encoding ---------------------------------------- */
|
||||
|
||||
/* Returns a pointer to the default encoding (UTF-8) of the
|
||||
|
@ -618,37 +580,6 @@ PyAPI_FUNC(PyObject*) _PyUnicode_TransformDecimalAndSpaceToASCII(
|
|||
PyObject *unicode /* Unicode object */
|
||||
);
|
||||
|
||||
/* --- Methods & Slots ---------------------------------------------------- */
|
||||
|
||||
PyAPI_FUNC(PyObject *) _PyUnicode_JoinArray(
|
||||
PyObject *separator,
|
||||
PyObject *const *items,
|
||||
Py_ssize_t seqlen
|
||||
);
|
||||
|
||||
/* Test whether a unicode is equal to ASCII identifier. Return 1 if true,
|
||||
0 otherwise. The right argument must be ASCII identifier.
|
||||
Any error occurs inside will be cleared before return. */
|
||||
PyAPI_FUNC(int) _PyUnicode_EqualToASCIIId(
|
||||
PyObject *left, /* Left string */
|
||||
_Py_Identifier *right /* Right identifier */
|
||||
);
|
||||
|
||||
/* Test whether a unicode is equal to ASCII string. Return 1 if true,
|
||||
0 otherwise. The right argument must be ASCII-encoded string.
|
||||
Any error occurs inside will be cleared before return. */
|
||||
PyAPI_FUNC(int) _PyUnicode_EqualToASCIIString(
|
||||
PyObject *left,
|
||||
const char *right /* ASCII-encoded string */
|
||||
);
|
||||
|
||||
/* Externally visible for str.strip(unicode) */
|
||||
PyAPI_FUNC(PyObject *) _PyUnicode_XStrip(
|
||||
PyObject *self,
|
||||
int striptype,
|
||||
PyObject *sepobj
|
||||
);
|
||||
|
||||
/* === Characters Type APIs =============================================== */
|
||||
|
||||
/* These should not be used directly. Use the Py_UNICODE_IS* and
|
||||
|
|
|
@ -14,6 +14,44 @@ extern "C" {
|
|||
void _PyUnicode_ExactDealloc(PyObject *op);
|
||||
Py_ssize_t _PyUnicode_InternedSize(void);
|
||||
|
||||
/* Get a copy of a Unicode string. */
|
||||
PyAPI_FUNC(PyObject*) _PyUnicode_Copy(
|
||||
PyObject *unicode
|
||||
);
|
||||
|
||||
/* Unsafe version of PyUnicode_Fill(): don't check arguments and so may crash
|
||||
if parameters are invalid (e.g. if length is longer than the string). */
|
||||
extern void _PyUnicode_FastFill(
|
||||
PyObject *unicode,
|
||||
Py_ssize_t start,
|
||||
Py_ssize_t length,
|
||||
Py_UCS4 fill_char
|
||||
);
|
||||
|
||||
/* Unsafe version of PyUnicode_CopyCharacters(): don't check arguments and so
|
||||
may crash if parameters are invalid (e.g. if the output string
|
||||
is too short). */
|
||||
extern void _PyUnicode_FastCopyCharacters(
|
||||
PyObject *to,
|
||||
Py_ssize_t to_start,
|
||||
PyObject *from,
|
||||
Py_ssize_t from_start,
|
||||
Py_ssize_t how_many
|
||||
);
|
||||
|
||||
/* Create a new string from a buffer of ASCII characters.
|
||||
WARNING: Don't check if the string contains any non-ASCII character. */
|
||||
extern PyObject* _PyUnicode_FromASCII(
|
||||
const char *buffer,
|
||||
Py_ssize_t size);
|
||||
|
||||
/* Compute the maximum character of the substring unicode[start:end].
|
||||
Return 127 for an empty string. */
|
||||
extern Py_UCS4 _PyUnicode_FindMaxChar (
|
||||
PyObject *unicode,
|
||||
Py_ssize_t start,
|
||||
Py_ssize_t end);
|
||||
|
||||
/* --- _PyUnicodeWriter API ----------------------------------------------- */
|
||||
|
||||
typedef struct {
|
||||
|
@ -141,10 +179,40 @@ PyAPI_FUNC(int) _PyUnicode_FormatAdvancedWriter(
|
|||
|
||||
/* --- Methods & Slots ---------------------------------------------------- */
|
||||
|
||||
extern PyObject* _PyUnicode_JoinArray(
|
||||
PyObject *separator,
|
||||
PyObject *const *items,
|
||||
Py_ssize_t seqlen
|
||||
);
|
||||
|
||||
/* Test whether a unicode is equal to ASCII identifier. Return 1 if true,
|
||||
0 otherwise. The right argument must be ASCII identifier.
|
||||
Any error occurs inside will be cleared before return. */
|
||||
extern int _PyUnicode_EqualToASCIIId(
|
||||
PyObject *left, /* Left string */
|
||||
_Py_Identifier *right /* Right identifier */
|
||||
);
|
||||
|
||||
/* Test whether a unicode is equal to ASCII string. Return 1 if true,
|
||||
0 otherwise. The right argument must be ASCII-encoded string.
|
||||
Any error occurs inside will be cleared before return. */
|
||||
PyAPI_FUNC(int) _PyUnicode_EqualToASCIIString(
|
||||
PyObject *left,
|
||||
const char *right /* ASCII-encoded string */
|
||||
);
|
||||
|
||||
/* Externally visible for str.strip(unicode) */
|
||||
extern PyObject* _PyUnicode_XStrip(
|
||||
PyObject *self,
|
||||
int striptype,
|
||||
PyObject *sepobj
|
||||
);
|
||||
|
||||
|
||||
/* Using explicit passed-in values, insert the thousands grouping
|
||||
into the string pointed to by buffer. For the argument descriptions,
|
||||
see Objects/stringlib/localeutil.h */
|
||||
PyAPI_FUNC(Py_ssize_t) _PyUnicode_InsertThousandsGrouping(
|
||||
extern Py_ssize_t _PyUnicode_InsertThousandsGrouping(
|
||||
_PyUnicodeWriter *writer,
|
||||
Py_ssize_t n_buffer,
|
||||
PyObject *digits,
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "Python.h"
|
||||
#include "pycore_ast.h" // _PyAST_GetDocString()
|
||||
#include "pycore_unicodeobject.h" // _PyUnicode_EqualToASCIIString()
|
||||
|
||||
#define UNDEFINED_FUTURE_FEATURE "future feature %.100s is not defined"
|
||||
|
||||
|
|
Loading…
Reference in New Issue