mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
rename internal methods of the bytes object to bytes_
This commit is contained in:
parent
97a0a6e13e
commit
80688efd6c
1 changed files with 102 additions and 102 deletions
|
@ -365,7 +365,7 @@ PyBytes_FromFormat(const char *format, ...)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
string_dealloc(PyObject *op)
|
bytes_dealloc(PyObject *op)
|
||||||
{
|
{
|
||||||
Py_TYPE(op)->tp_free(op);
|
Py_TYPE(op)->tp_free(op);
|
||||||
}
|
}
|
||||||
|
@ -662,31 +662,31 @@ PyBytes_Repr(PyObject *obj, int smartquotes)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_repr(PyObject *op)
|
bytes_repr(PyObject *op)
|
||||||
{
|
{
|
||||||
return PyBytes_Repr(op, 1);
|
return PyBytes_Repr(op, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_str(PyObject *op)
|
bytes_str(PyObject *op)
|
||||||
{
|
{
|
||||||
if (Py_BytesWarningFlag) {
|
if (Py_BytesWarningFlag) {
|
||||||
if (PyErr_WarnEx(PyExc_BytesWarning,
|
if (PyErr_WarnEx(PyExc_BytesWarning,
|
||||||
"str() on a bytes instance", 1))
|
"str() on a bytes instance", 1))
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return string_repr(op);
|
return bytes_repr(op);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Py_ssize_t
|
static Py_ssize_t
|
||||||
string_length(PyBytesObject *a)
|
bytes_length(PyBytesObject *a)
|
||||||
{
|
{
|
||||||
return Py_SIZE(a);
|
return Py_SIZE(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is also used by PyBytes_Concat() */
|
/* This is also used by PyBytes_Concat() */
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_concat(PyObject *a, PyObject *b)
|
bytes_concat(PyObject *a, PyObject *b)
|
||||||
{
|
{
|
||||||
Py_ssize_t size;
|
Py_ssize_t size;
|
||||||
Py_buffer va, vb;
|
Py_buffer va, vb;
|
||||||
|
@ -734,7 +734,7 @@ string_concat(PyObject *a, PyObject *b)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_repeat(register PyBytesObject *a, register Py_ssize_t n)
|
bytes_repeat(register PyBytesObject *a, register Py_ssize_t n)
|
||||||
{
|
{
|
||||||
register Py_ssize_t i;
|
register Py_ssize_t i;
|
||||||
register Py_ssize_t j;
|
register Py_ssize_t j;
|
||||||
|
@ -786,7 +786,7 @@ string_repeat(register PyBytesObject *a, register Py_ssize_t n)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
string_contains(PyObject *self, PyObject *arg)
|
bytes_contains(PyObject *self, PyObject *arg)
|
||||||
{
|
{
|
||||||
Py_ssize_t ival = PyNumber_AsSsize_t(arg, PyExc_ValueError);
|
Py_ssize_t ival = PyNumber_AsSsize_t(arg, PyExc_ValueError);
|
||||||
if (ival == -1 && PyErr_Occurred()) {
|
if (ival == -1 && PyErr_Occurred()) {
|
||||||
|
@ -809,7 +809,7 @@ string_contains(PyObject *self, PyObject *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_item(PyBytesObject *a, register Py_ssize_t i)
|
bytes_item(PyBytesObject *a, register Py_ssize_t i)
|
||||||
{
|
{
|
||||||
if (i < 0 || i >= Py_SIZE(a)) {
|
if (i < 0 || i >= Py_SIZE(a)) {
|
||||||
PyErr_SetString(PyExc_IndexError, "index out of range");
|
PyErr_SetString(PyExc_IndexError, "index out of range");
|
||||||
|
@ -819,7 +819,7 @@ string_item(PyBytesObject *a, register Py_ssize_t i)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
string_richcompare(PyBytesObject *a, PyBytesObject *b, int op)
|
bytes_richcompare(PyBytesObject *a, PyBytesObject *b, int op)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
Py_ssize_t len_a, len_b;
|
Py_ssize_t len_a, len_b;
|
||||||
|
@ -890,7 +890,7 @@ string_richcompare(PyBytesObject *a, PyBytesObject *b, int op)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
string_hash(PyBytesObject *a)
|
bytes_hash(PyBytesObject *a)
|
||||||
{
|
{
|
||||||
register Py_ssize_t len;
|
register Py_ssize_t len;
|
||||||
register unsigned char *p;
|
register unsigned char *p;
|
||||||
|
@ -911,7 +911,7 @@ string_hash(PyBytesObject *a)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
string_subscript(PyBytesObject* self, PyObject* item)
|
bytes_subscript(PyBytesObject* self, PyObject* item)
|
||||||
{
|
{
|
||||||
if (PyIndex_Check(item)) {
|
if (PyIndex_Check(item)) {
|
||||||
Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
|
Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
|
||||||
|
@ -976,31 +976,31 @@ string_subscript(PyBytesObject* self, PyObject* item)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
string_buffer_getbuffer(PyBytesObject *self, Py_buffer *view, int flags)
|
bytes_buffer_getbuffer(PyBytesObject *self, Py_buffer *view, int flags)
|
||||||
{
|
{
|
||||||
return PyBuffer_FillInfo(view, (PyObject*)self, (void *)self->ob_sval, Py_SIZE(self),
|
return PyBuffer_FillInfo(view, (PyObject*)self, (void *)self->ob_sval, Py_SIZE(self),
|
||||||
1, flags);
|
1, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PySequenceMethods string_as_sequence = {
|
static PySequenceMethods bytes_as_sequence = {
|
||||||
(lenfunc)string_length, /*sq_length*/
|
(lenfunc)bytes_length, /*sq_length*/
|
||||||
(binaryfunc)string_concat, /*sq_concat*/
|
(binaryfunc)bytes_concat, /*sq_concat*/
|
||||||
(ssizeargfunc)string_repeat, /*sq_repeat*/
|
(ssizeargfunc)bytes_repeat, /*sq_repeat*/
|
||||||
(ssizeargfunc)string_item, /*sq_item*/
|
(ssizeargfunc)bytes_item, /*sq_item*/
|
||||||
0, /*sq_slice*/
|
0, /*sq_slice*/
|
||||||
0, /*sq_ass_item*/
|
0, /*sq_ass_item*/
|
||||||
0, /*sq_ass_slice*/
|
0, /*sq_ass_slice*/
|
||||||
(objobjproc)string_contains /*sq_contains*/
|
(objobjproc)bytes_contains /*sq_contains*/
|
||||||
};
|
};
|
||||||
|
|
||||||
static PyMappingMethods string_as_mapping = {
|
static PyMappingMethods bytes_as_mapping = {
|
||||||
(lenfunc)string_length,
|
(lenfunc)bytes_length,
|
||||||
(binaryfunc)string_subscript,
|
(binaryfunc)bytes_subscript,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
static PyBufferProcs string_as_buffer = {
|
static PyBufferProcs bytes_as_buffer = {
|
||||||
(getbufferproc)string_buffer_getbuffer,
|
(getbufferproc)bytes_buffer_getbuffer,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1150,7 +1150,7 @@ characters (space, tab, return, newline, formfeed, vertical tab).\n\
|
||||||
If maxsplit is given, at most maxsplit splits are done.");
|
If maxsplit is given, at most maxsplit splits are done.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_split(PyBytesObject *self, PyObject *args)
|
bytes_split(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t len = PyBytes_GET_SIZE(self), n, i, j;
|
Py_ssize_t len = PyBytes_GET_SIZE(self), n, i, j;
|
||||||
Py_ssize_t maxsplit = -1, count=0;
|
Py_ssize_t maxsplit = -1, count=0;
|
||||||
|
@ -1230,7 +1230,7 @@ the separator itself, and the part after it. If the separator is not\n\
|
||||||
found, returns B and two empty bytes objects.");
|
found, returns B and two empty bytes objects.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_partition(PyBytesObject *self, PyObject *sep_obj)
|
bytes_partition(PyBytesObject *self, PyObject *sep_obj)
|
||||||
{
|
{
|
||||||
const char *sep;
|
const char *sep;
|
||||||
Py_ssize_t sep_len;
|
Py_ssize_t sep_len;
|
||||||
|
@ -1258,7 +1258,7 @@ part after it. If the separator is not found, returns two empty\n\
|
||||||
bytes objects and B.");
|
bytes objects and B.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_rpartition(PyBytesObject *self, PyObject *sep_obj)
|
bytes_rpartition(PyBytesObject *self, PyObject *sep_obj)
|
||||||
{
|
{
|
||||||
const char *sep;
|
const char *sep;
|
||||||
Py_ssize_t sep_len;
|
Py_ssize_t sep_len;
|
||||||
|
@ -1372,7 +1372,7 @@ If maxsplit is given, at most maxsplit splits are done.");
|
||||||
|
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_rsplit(PyBytesObject *self, PyObject *args)
|
bytes_rsplit(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t len = PyBytes_GET_SIZE(self), n, i, j;
|
Py_ssize_t len = PyBytes_GET_SIZE(self), n, i, j;
|
||||||
Py_ssize_t maxsplit = -1, count=0;
|
Py_ssize_t maxsplit = -1, count=0;
|
||||||
|
@ -1447,7 +1447,7 @@ Concatenate any number of bytes objects, with B in between each pair.\n\
|
||||||
Example: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'.");
|
Example: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_join(PyObject *self, PyObject *orig)
|
bytes_join(PyObject *self, PyObject *orig)
|
||||||
{
|
{
|
||||||
char *sep = PyBytes_AS_STRING(self);
|
char *sep = PyBytes_AS_STRING(self);
|
||||||
const Py_ssize_t seplen = PyBytes_GET_SIZE(self);
|
const Py_ssize_t seplen = PyBytes_GET_SIZE(self);
|
||||||
|
@ -1542,11 +1542,11 @@ _PyBytes_Join(PyObject *sep, PyObject *x)
|
||||||
{
|
{
|
||||||
assert(sep != NULL && PyBytes_Check(sep));
|
assert(sep != NULL && PyBytes_Check(sep));
|
||||||
assert(x != NULL);
|
assert(x != NULL);
|
||||||
return string_join(sep, x);
|
return bytes_join(sep, x);
|
||||||
}
|
}
|
||||||
|
|
||||||
Py_LOCAL_INLINE(void)
|
Py_LOCAL_INLINE(void)
|
||||||
string_adjust_indices(Py_ssize_t *start, Py_ssize_t *end, Py_ssize_t len)
|
bytes_adjust_indices(Py_ssize_t *start, Py_ssize_t *end, Py_ssize_t len)
|
||||||
{
|
{
|
||||||
if (*end > len)
|
if (*end > len)
|
||||||
*end = len;
|
*end = len;
|
||||||
|
@ -1561,7 +1561,7 @@ string_adjust_indices(Py_ssize_t *start, Py_ssize_t *end, Py_ssize_t len)
|
||||||
}
|
}
|
||||||
|
|
||||||
Py_LOCAL_INLINE(Py_ssize_t)
|
Py_LOCAL_INLINE(Py_ssize_t)
|
||||||
string_find_internal(PyBytesObject *self, PyObject *args, int dir)
|
bytes_find_internal(PyBytesObject *self, PyObject *args, int dir)
|
||||||
{
|
{
|
||||||
PyObject *subobj;
|
PyObject *subobj;
|
||||||
const char *sub;
|
const char *sub;
|
||||||
|
@ -1612,9 +1612,9 @@ arguments start and end are interpreted as in slice notation.\n\
|
||||||
Return -1 on failure.");
|
Return -1 on failure.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_find(PyBytesObject *self, PyObject *args)
|
bytes_find(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t result = string_find_internal(self, args, +1);
|
Py_ssize_t result = bytes_find_internal(self, args, +1);
|
||||||
if (result == -2)
|
if (result == -2)
|
||||||
return NULL;
|
return NULL;
|
||||||
return PyLong_FromSsize_t(result);
|
return PyLong_FromSsize_t(result);
|
||||||
|
@ -1627,9 +1627,9 @@ PyDoc_STRVAR(index__doc__,
|
||||||
Like B.find() but raise ValueError when the substring is not found.");
|
Like B.find() but raise ValueError when the substring is not found.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_index(PyBytesObject *self, PyObject *args)
|
bytes_index(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t result = string_find_internal(self, args, +1);
|
Py_ssize_t result = bytes_find_internal(self, args, +1);
|
||||||
if (result == -2)
|
if (result == -2)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (result == -1) {
|
if (result == -1) {
|
||||||
|
@ -1651,9 +1651,9 @@ arguments start and end are interpreted as in slice notation.\n\
|
||||||
Return -1 on failure.");
|
Return -1 on failure.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_rfind(PyBytesObject *self, PyObject *args)
|
bytes_rfind(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t result = string_find_internal(self, args, -1);
|
Py_ssize_t result = bytes_find_internal(self, args, -1);
|
||||||
if (result == -2)
|
if (result == -2)
|
||||||
return NULL;
|
return NULL;
|
||||||
return PyLong_FromSsize_t(result);
|
return PyLong_FromSsize_t(result);
|
||||||
|
@ -1666,9 +1666,9 @@ PyDoc_STRVAR(rindex__doc__,
|
||||||
Like B.rfind() but raise ValueError when the substring is not found.");
|
Like B.rfind() but raise ValueError when the substring is not found.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_rindex(PyBytesObject *self, PyObject *args)
|
bytes_rindex(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t result = string_find_internal(self, args, -1);
|
Py_ssize_t result = bytes_find_internal(self, args, -1);
|
||||||
if (result == -2)
|
if (result == -2)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (result == -1) {
|
if (result == -1) {
|
||||||
|
@ -1772,7 +1772,7 @@ PyDoc_STRVAR(strip__doc__,
|
||||||
Strip leading and trailing bytes contained in the argument.\n\
|
Strip leading and trailing bytes contained in the argument.\n\
|
||||||
If the argument is omitted, strip trailing ASCII whitespace.");
|
If the argument is omitted, strip trailing ASCII whitespace.");
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_strip(PyBytesObject *self, PyObject *args)
|
bytes_strip(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
if (PyTuple_GET_SIZE(args) == 0)
|
if (PyTuple_GET_SIZE(args) == 0)
|
||||||
return do_strip(self, BOTHSTRIP); /* Common case */
|
return do_strip(self, BOTHSTRIP); /* Common case */
|
||||||
|
@ -1787,7 +1787,7 @@ PyDoc_STRVAR(lstrip__doc__,
|
||||||
Strip leading bytes contained in the argument.\n\
|
Strip leading bytes contained in the argument.\n\
|
||||||
If the argument is omitted, strip leading ASCII whitespace.");
|
If the argument is omitted, strip leading ASCII whitespace.");
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_lstrip(PyBytesObject *self, PyObject *args)
|
bytes_lstrip(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
if (PyTuple_GET_SIZE(args) == 0)
|
if (PyTuple_GET_SIZE(args) == 0)
|
||||||
return do_strip(self, LEFTSTRIP); /* Common case */
|
return do_strip(self, LEFTSTRIP); /* Common case */
|
||||||
|
@ -1802,7 +1802,7 @@ PyDoc_STRVAR(rstrip__doc__,
|
||||||
Strip trailing bytes contained in the argument.\n\
|
Strip trailing bytes contained in the argument.\n\
|
||||||
If the argument is omitted, strip trailing ASCII whitespace.");
|
If the argument is omitted, strip trailing ASCII whitespace.");
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_rstrip(PyBytesObject *self, PyObject *args)
|
bytes_rstrip(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
if (PyTuple_GET_SIZE(args) == 0)
|
if (PyTuple_GET_SIZE(args) == 0)
|
||||||
return do_strip(self, RIGHTSTRIP); /* Common case */
|
return do_strip(self, RIGHTSTRIP); /* Common case */
|
||||||
|
@ -1819,7 +1819,7 @@ string S[start:end]. Optional arguments start and end are interpreted\n\
|
||||||
as in slice notation.");
|
as in slice notation.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_count(PyBytesObject *self, PyObject *args)
|
bytes_count(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *sub_obj;
|
PyObject *sub_obj;
|
||||||
const char *str = PyBytes_AS_STRING(self), *sub;
|
const char *str = PyBytes_AS_STRING(self), *sub;
|
||||||
|
@ -1837,7 +1837,7 @@ string_count(PyBytesObject *self, PyObject *args)
|
||||||
else if (PyObject_AsCharBuffer(sub_obj, &sub, &sub_len))
|
else if (PyObject_AsCharBuffer(sub_obj, &sub, &sub_len))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
string_adjust_indices(&start, &end, PyBytes_GET_SIZE(self));
|
bytes_adjust_indices(&start, &end, PyBytes_GET_SIZE(self));
|
||||||
|
|
||||||
return PyLong_FromSsize_t(
|
return PyLong_FromSsize_t(
|
||||||
stringlib_count(str + start, end - start, sub, sub_len)
|
stringlib_count(str + start, end - start, sub, sub_len)
|
||||||
|
@ -1854,7 +1854,7 @@ characters have been mapped through the given translation\n\
|
||||||
table, which must be a bytes object of length 256.");
|
table, which must be a bytes object of length 256.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_translate(PyBytesObject *self, PyObject *args)
|
bytes_translate(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
register char *input, *output;
|
register char *input, *output;
|
||||||
const char *table;
|
const char *table;
|
||||||
|
@ -1952,7 +1952,7 @@ string_translate(PyBytesObject *self, PyObject *args)
|
||||||
|
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_maketrans(PyObject *null, PyObject *args)
|
bytes_maketrans(PyObject *null, PyObject *args)
|
||||||
{
|
{
|
||||||
return _Py_bytes_maketrans(args);
|
return _Py_bytes_maketrans(args);
|
||||||
}
|
}
|
||||||
|
@ -2560,7 +2560,7 @@ old replaced by new. If the optional argument count is\n\
|
||||||
given, only the first count occurrences are replaced.");
|
given, only the first count occurrences are replaced.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_replace(PyBytesObject *self, PyObject *args)
|
bytes_replace(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t count = -1;
|
Py_ssize_t count = -1;
|
||||||
PyObject *from, *to;
|
PyObject *from, *to;
|
||||||
|
@ -2596,7 +2596,7 @@ string_replace(PyBytesObject *self, PyObject *args)
|
||||||
* -1 on error, 0 if not found and 1 if found.
|
* -1 on error, 0 if not found and 1 if found.
|
||||||
*/
|
*/
|
||||||
Py_LOCAL(int)
|
Py_LOCAL(int)
|
||||||
_string_tailmatch(PyBytesObject *self, PyObject *substr, Py_ssize_t start,
|
_bytes_tailmatch(PyBytesObject *self, PyObject *substr, Py_ssize_t start,
|
||||||
Py_ssize_t end, int direction)
|
Py_ssize_t end, int direction)
|
||||||
{
|
{
|
||||||
Py_ssize_t len = PyBytes_GET_SIZE(self);
|
Py_ssize_t len = PyBytes_GET_SIZE(self);
|
||||||
|
@ -2612,7 +2612,7 @@ _string_tailmatch(PyBytesObject *self, PyObject *substr, Py_ssize_t start,
|
||||||
return -1;
|
return -1;
|
||||||
str = PyBytes_AS_STRING(self);
|
str = PyBytes_AS_STRING(self);
|
||||||
|
|
||||||
string_adjust_indices(&start, &end, len);
|
bytes_adjust_indices(&start, &end, len);
|
||||||
|
|
||||||
if (direction < 0) {
|
if (direction < 0) {
|
||||||
/* startswith */
|
/* startswith */
|
||||||
|
@ -2641,7 +2641,7 @@ With optional end, stop comparing B at that position.\n\
|
||||||
prefix can also be a tuple of bytes to try.");
|
prefix can also be a tuple of bytes to try.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_startswith(PyBytesObject *self, PyObject *args)
|
bytes_startswith(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t start = 0;
|
Py_ssize_t start = 0;
|
||||||
Py_ssize_t end = PY_SSIZE_T_MAX;
|
Py_ssize_t end = PY_SSIZE_T_MAX;
|
||||||
|
@ -2654,7 +2654,7 @@ string_startswith(PyBytesObject *self, PyObject *args)
|
||||||
if (PyTuple_Check(subobj)) {
|
if (PyTuple_Check(subobj)) {
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
for (i = 0; i < PyTuple_GET_SIZE(subobj); i++) {
|
for (i = 0; i < PyTuple_GET_SIZE(subobj); i++) {
|
||||||
result = _string_tailmatch(self,
|
result = _bytes_tailmatch(self,
|
||||||
PyTuple_GET_ITEM(subobj, i),
|
PyTuple_GET_ITEM(subobj, i),
|
||||||
start, end, -1);
|
start, end, -1);
|
||||||
if (result == -1)
|
if (result == -1)
|
||||||
|
@ -2665,7 +2665,7 @@ string_startswith(PyBytesObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
Py_RETURN_FALSE;
|
Py_RETURN_FALSE;
|
||||||
}
|
}
|
||||||
result = _string_tailmatch(self, subobj, start, end, -1);
|
result = _bytes_tailmatch(self, subobj, start, end, -1);
|
||||||
if (result == -1)
|
if (result == -1)
|
||||||
return NULL;
|
return NULL;
|
||||||
else
|
else
|
||||||
|
@ -2682,7 +2682,7 @@ With optional end, stop comparing B at that position.\n\
|
||||||
suffix can also be a tuple of bytes to try.");
|
suffix can also be a tuple of bytes to try.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_endswith(PyBytesObject *self, PyObject *args)
|
bytes_endswith(PyBytesObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
Py_ssize_t start = 0;
|
Py_ssize_t start = 0;
|
||||||
Py_ssize_t end = PY_SSIZE_T_MAX;
|
Py_ssize_t end = PY_SSIZE_T_MAX;
|
||||||
|
@ -2695,7 +2695,7 @@ string_endswith(PyBytesObject *self, PyObject *args)
|
||||||
if (PyTuple_Check(subobj)) {
|
if (PyTuple_Check(subobj)) {
|
||||||
Py_ssize_t i;
|
Py_ssize_t i;
|
||||||
for (i = 0; i < PyTuple_GET_SIZE(subobj); i++) {
|
for (i = 0; i < PyTuple_GET_SIZE(subobj); i++) {
|
||||||
result = _string_tailmatch(self,
|
result = _bytes_tailmatch(self,
|
||||||
PyTuple_GET_ITEM(subobj, i),
|
PyTuple_GET_ITEM(subobj, i),
|
||||||
start, end, +1);
|
start, end, +1);
|
||||||
if (result == -1)
|
if (result == -1)
|
||||||
|
@ -2706,7 +2706,7 @@ string_endswith(PyBytesObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
Py_RETURN_FALSE;
|
Py_RETURN_FALSE;
|
||||||
}
|
}
|
||||||
result = _string_tailmatch(self, subobj, start, end, +1);
|
result = _bytes_tailmatch(self, subobj, start, end, +1);
|
||||||
if (result == -1)
|
if (result == -1)
|
||||||
return NULL;
|
return NULL;
|
||||||
else
|
else
|
||||||
|
@ -2725,7 +2725,7 @@ as well as any other name registerd with codecs.register_error that is\n\
|
||||||
able to handle UnicodeDecodeErrors.");
|
able to handle UnicodeDecodeErrors.");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_decode(PyObject *self, PyObject *args)
|
bytes_decode(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
const char *encoding = NULL;
|
const char *encoding = NULL;
|
||||||
const char *errors = NULL;
|
const char *errors = NULL;
|
||||||
|
@ -2762,7 +2762,7 @@ hex_digit_to_int(Py_UNICODE c)
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_fromhex(PyObject *cls, PyObject *args)
|
bytes_fromhex(PyObject *cls, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *newstring, *hexobj;
|
PyObject *newstring, *hexobj;
|
||||||
char *buf;
|
char *buf;
|
||||||
|
@ -2806,10 +2806,10 @@ string_fromhex(PyObject *cls, PyObject *args)
|
||||||
}
|
}
|
||||||
|
|
||||||
PyDoc_STRVAR(sizeof__doc__,
|
PyDoc_STRVAR(sizeof__doc__,
|
||||||
"S.__sizeof__() -> size of S in memory, in bytes");
|
"B.__sizeof__() -> size of B in memory, in bytes");
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_sizeof(PyBytesObject *v)
|
bytes_sizeof(PyBytesObject *v)
|
||||||
{
|
{
|
||||||
Py_ssize_t res;
|
Py_ssize_t res;
|
||||||
res = PyBytesObject_SIZE + Py_SIZE(v) * Py_TYPE(v)->tp_itemsize;
|
res = PyBytesObject_SIZE + Py_SIZE(v) * Py_TYPE(v)->tp_itemsize;
|
||||||
|
@ -2818,28 +2818,28 @@ string_sizeof(PyBytesObject *v)
|
||||||
|
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_getnewargs(PyBytesObject *v)
|
bytes_getnewargs(PyBytesObject *v)
|
||||||
{
|
{
|
||||||
return Py_BuildValue("(s#)", v->ob_sval, Py_SIZE(v));
|
return Py_BuildValue("(s#)", v->ob_sval, Py_SIZE(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static PyMethodDef
|
static PyMethodDef
|
||||||
string_methods[] = {
|
bytes_methods[] = {
|
||||||
{"__getnewargs__", (PyCFunction)string_getnewargs, METH_NOARGS},
|
{"__getnewargs__", (PyCFunction)bytes_getnewargs, METH_NOARGS},
|
||||||
{"capitalize", (PyCFunction)stringlib_capitalize, METH_NOARGS,
|
{"capitalize", (PyCFunction)stringlib_capitalize, METH_NOARGS,
|
||||||
_Py_capitalize__doc__},
|
_Py_capitalize__doc__},
|
||||||
{"center", (PyCFunction)stringlib_center, METH_VARARGS, center__doc__},
|
{"center", (PyCFunction)stringlib_center, METH_VARARGS, center__doc__},
|
||||||
{"count", (PyCFunction)string_count, METH_VARARGS, count__doc__},
|
{"count", (PyCFunction)bytes_count, METH_VARARGS, count__doc__},
|
||||||
{"decode", (PyCFunction)string_decode, METH_VARARGS, decode__doc__},
|
{"decode", (PyCFunction)bytes_decode, METH_VARARGS, decode__doc__},
|
||||||
{"endswith", (PyCFunction)string_endswith, METH_VARARGS,
|
{"endswith", (PyCFunction)bytes_endswith, METH_VARARGS,
|
||||||
endswith__doc__},
|
endswith__doc__},
|
||||||
{"expandtabs", (PyCFunction)stringlib_expandtabs, METH_VARARGS,
|
{"expandtabs", (PyCFunction)stringlib_expandtabs, METH_VARARGS,
|
||||||
expandtabs__doc__},
|
expandtabs__doc__},
|
||||||
{"find", (PyCFunction)string_find, METH_VARARGS, find__doc__},
|
{"find", (PyCFunction)bytes_find, METH_VARARGS, find__doc__},
|
||||||
{"fromhex", (PyCFunction)string_fromhex, METH_VARARGS|METH_CLASS,
|
{"fromhex", (PyCFunction)bytes_fromhex, METH_VARARGS|METH_CLASS,
|
||||||
fromhex_doc},
|
fromhex_doc},
|
||||||
{"index", (PyCFunction)string_index, METH_VARARGS, index__doc__},
|
{"index", (PyCFunction)bytes_index, METH_VARARGS, index__doc__},
|
||||||
{"isalnum", (PyCFunction)stringlib_isalnum, METH_NOARGS,
|
{"isalnum", (PyCFunction)stringlib_isalnum, METH_NOARGS,
|
||||||
_Py_isalnum__doc__},
|
_Py_isalnum__doc__},
|
||||||
{"isalpha", (PyCFunction)stringlib_isalpha, METH_NOARGS,
|
{"isalpha", (PyCFunction)stringlib_isalpha, METH_NOARGS,
|
||||||
|
@ -2854,35 +2854,35 @@ string_methods[] = {
|
||||||
_Py_istitle__doc__},
|
_Py_istitle__doc__},
|
||||||
{"isupper", (PyCFunction)stringlib_isupper, METH_NOARGS,
|
{"isupper", (PyCFunction)stringlib_isupper, METH_NOARGS,
|
||||||
_Py_isupper__doc__},
|
_Py_isupper__doc__},
|
||||||
{"join", (PyCFunction)string_join, METH_O, join__doc__},
|
{"join", (PyCFunction)bytes_join, METH_O, join__doc__},
|
||||||
{"ljust", (PyCFunction)stringlib_ljust, METH_VARARGS, ljust__doc__},
|
{"ljust", (PyCFunction)stringlib_ljust, METH_VARARGS, ljust__doc__},
|
||||||
{"lower", (PyCFunction)stringlib_lower, METH_NOARGS, _Py_lower__doc__},
|
{"lower", (PyCFunction)stringlib_lower, METH_NOARGS, _Py_lower__doc__},
|
||||||
{"lstrip", (PyCFunction)string_lstrip, METH_VARARGS, lstrip__doc__},
|
{"lstrip", (PyCFunction)bytes_lstrip, METH_VARARGS, lstrip__doc__},
|
||||||
{"maketrans", (PyCFunction)string_maketrans, METH_VARARGS|METH_STATIC,
|
{"maketrans", (PyCFunction)bytes_maketrans, METH_VARARGS|METH_STATIC,
|
||||||
_Py_maketrans__doc__},
|
_Py_maketrans__doc__},
|
||||||
{"partition", (PyCFunction)string_partition, METH_O, partition__doc__},
|
{"partition", (PyCFunction)bytes_partition, METH_O, partition__doc__},
|
||||||
{"replace", (PyCFunction)string_replace, METH_VARARGS, replace__doc__},
|
{"replace", (PyCFunction)bytes_replace, METH_VARARGS, replace__doc__},
|
||||||
{"rfind", (PyCFunction)string_rfind, METH_VARARGS, rfind__doc__},
|
{"rfind", (PyCFunction)bytes_rfind, METH_VARARGS, rfind__doc__},
|
||||||
{"rindex", (PyCFunction)string_rindex, METH_VARARGS, rindex__doc__},
|
{"rindex", (PyCFunction)bytes_rindex, METH_VARARGS, rindex__doc__},
|
||||||
{"rjust", (PyCFunction)stringlib_rjust, METH_VARARGS, rjust__doc__},
|
{"rjust", (PyCFunction)stringlib_rjust, METH_VARARGS, rjust__doc__},
|
||||||
{"rpartition", (PyCFunction)string_rpartition, METH_O,
|
{"rpartition", (PyCFunction)bytes_rpartition, METH_O,
|
||||||
rpartition__doc__},
|
rpartition__doc__},
|
||||||
{"rsplit", (PyCFunction)string_rsplit, METH_VARARGS, rsplit__doc__},
|
{"rsplit", (PyCFunction)bytes_rsplit, METH_VARARGS, rsplit__doc__},
|
||||||
{"rstrip", (PyCFunction)string_rstrip, METH_VARARGS, rstrip__doc__},
|
{"rstrip", (PyCFunction)bytes_rstrip, METH_VARARGS, rstrip__doc__},
|
||||||
{"split", (PyCFunction)string_split, METH_VARARGS, split__doc__},
|
{"split", (PyCFunction)bytes_split, METH_VARARGS, split__doc__},
|
||||||
{"splitlines", (PyCFunction)stringlib_splitlines, METH_VARARGS,
|
{"splitlines", (PyCFunction)stringlib_splitlines, METH_VARARGS,
|
||||||
splitlines__doc__},
|
splitlines__doc__},
|
||||||
{"startswith", (PyCFunction)string_startswith, METH_VARARGS,
|
{"startswith", (PyCFunction)bytes_startswith, METH_VARARGS,
|
||||||
startswith__doc__},
|
startswith__doc__},
|
||||||
{"strip", (PyCFunction)string_strip, METH_VARARGS, strip__doc__},
|
{"strip", (PyCFunction)bytes_strip, METH_VARARGS, strip__doc__},
|
||||||
{"swapcase", (PyCFunction)stringlib_swapcase, METH_NOARGS,
|
{"swapcase", (PyCFunction)stringlib_swapcase, METH_NOARGS,
|
||||||
_Py_swapcase__doc__},
|
_Py_swapcase__doc__},
|
||||||
{"title", (PyCFunction)stringlib_title, METH_NOARGS, _Py_title__doc__},
|
{"title", (PyCFunction)stringlib_title, METH_NOARGS, _Py_title__doc__},
|
||||||
{"translate", (PyCFunction)string_translate, METH_VARARGS,
|
{"translate", (PyCFunction)bytes_translate, METH_VARARGS,
|
||||||
translate__doc__},
|
translate__doc__},
|
||||||
{"upper", (PyCFunction)stringlib_upper, METH_NOARGS, _Py_upper__doc__},
|
{"upper", (PyCFunction)stringlib_upper, METH_NOARGS, _Py_upper__doc__},
|
||||||
{"zfill", (PyCFunction)stringlib_zfill, METH_VARARGS, zfill__doc__},
|
{"zfill", (PyCFunction)stringlib_zfill, METH_VARARGS, zfill__doc__},
|
||||||
{"__sizeof__", (PyCFunction)string_sizeof, METH_NOARGS,
|
{"__sizeof__", (PyCFunction)bytes_sizeof, METH_NOARGS,
|
||||||
sizeof__doc__},
|
sizeof__doc__},
|
||||||
{NULL, NULL} /* sentinel */
|
{NULL, NULL} /* sentinel */
|
||||||
};
|
};
|
||||||
|
@ -2891,7 +2891,7 @@ static PyObject *
|
||||||
str_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
|
str_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
string_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
bytes_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
{
|
{
|
||||||
PyObject *x = NULL;
|
PyObject *x = NULL;
|
||||||
const char *encoding = NULL;
|
const char *encoding = NULL;
|
||||||
|
@ -3058,7 +3058,7 @@ str_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
Py_ssize_t n;
|
Py_ssize_t n;
|
||||||
|
|
||||||
assert(PyType_IsSubtype(type, &PyBytes_Type));
|
assert(PyType_IsSubtype(type, &PyBytes_Type));
|
||||||
tmp = string_new(&PyBytes_Type, args, kwds);
|
tmp = bytes_new(&PyBytes_Type, args, kwds);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
assert(PyBytes_CheckExact(tmp));
|
assert(PyBytes_CheckExact(tmp));
|
||||||
|
@ -3074,7 +3074,7 @@ str_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
return pnew;
|
return pnew;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyDoc_STRVAR(string_doc,
|
PyDoc_STRVAR(bytes_doc,
|
||||||
"bytes(iterable_of_ints) -> bytes\n\
|
"bytes(iterable_of_ints) -> bytes\n\
|
||||||
bytes(string, encoding[, errors]) -> bytes\n\
|
bytes(string, encoding[, errors]) -> bytes\n\
|
||||||
bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer\n\
|
bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer\n\
|
||||||
|
@ -3086,38 +3086,38 @@ Construct an immutable array of bytes from:\n\
|
||||||
- a bytes or a buffer object\n\
|
- a bytes or a buffer object\n\
|
||||||
- any object implementing the buffer API.");
|
- any object implementing the buffer API.");
|
||||||
|
|
||||||
static PyObject *str_iter(PyObject *seq);
|
static PyObject *bytes_iter(PyObject *seq);
|
||||||
|
|
||||||
PyTypeObject PyBytes_Type = {
|
PyTypeObject PyBytes_Type = {
|
||||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||||
"bytes",
|
"bytes",
|
||||||
PyBytesObject_SIZE,
|
PyBytesObject_SIZE,
|
||||||
sizeof(char),
|
sizeof(char),
|
||||||
string_dealloc, /* tp_dealloc */
|
bytes_dealloc, /* tp_dealloc */
|
||||||
0, /* tp_print */
|
0, /* tp_print */
|
||||||
0, /* tp_getattr */
|
0, /* tp_getattr */
|
||||||
0, /* tp_setattr */
|
0, /* tp_setattr */
|
||||||
0, /* tp_reserved */
|
0, /* tp_reserved */
|
||||||
(reprfunc)string_repr, /* tp_repr */
|
(reprfunc)bytes_repr, /* tp_repr */
|
||||||
0, /* tp_as_number */
|
0, /* tp_as_number */
|
||||||
&string_as_sequence, /* tp_as_sequence */
|
&bytes_as_sequence, /* tp_as_sequence */
|
||||||
&string_as_mapping, /* tp_as_mapping */
|
&bytes_as_mapping, /* tp_as_mapping */
|
||||||
(hashfunc)string_hash, /* tp_hash */
|
(hashfunc)bytes_hash, /* tp_hash */
|
||||||
0, /* tp_call */
|
0, /* tp_call */
|
||||||
string_str, /* tp_str */
|
bytes_str, /* tp_str */
|
||||||
PyObject_GenericGetAttr, /* tp_getattro */
|
PyObject_GenericGetAttr, /* tp_getattro */
|
||||||
0, /* tp_setattro */
|
0, /* tp_setattro */
|
||||||
&string_as_buffer, /* tp_as_buffer */
|
&bytes_as_buffer, /* tp_as_buffer */
|
||||||
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |
|
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |
|
||||||
Py_TPFLAGS_BYTES_SUBCLASS, /* tp_flags */
|
Py_TPFLAGS_BYTES_SUBCLASS, /* tp_flags */
|
||||||
string_doc, /* tp_doc */
|
bytes_doc, /* tp_doc */
|
||||||
0, /* tp_traverse */
|
0, /* tp_traverse */
|
||||||
0, /* tp_clear */
|
0, /* tp_clear */
|
||||||
(richcmpfunc)string_richcompare, /* tp_richcompare */
|
(richcmpfunc)bytes_richcompare, /* tp_richcompare */
|
||||||
0, /* tp_weaklistoffset */
|
0, /* tp_weaklistoffset */
|
||||||
str_iter, /* tp_iter */
|
bytes_iter, /* tp_iter */
|
||||||
0, /* tp_iternext */
|
0, /* tp_iternext */
|
||||||
string_methods, /* tp_methods */
|
bytes_methods, /* tp_methods */
|
||||||
0, /* tp_members */
|
0, /* tp_members */
|
||||||
0, /* tp_getset */
|
0, /* tp_getset */
|
||||||
&PyBaseObject_Type, /* tp_base */
|
&PyBaseObject_Type, /* tp_base */
|
||||||
|
@ -3127,7 +3127,7 @@ PyTypeObject PyBytes_Type = {
|
||||||
0, /* tp_dictoffset */
|
0, /* tp_dictoffset */
|
||||||
0, /* tp_init */
|
0, /* tp_init */
|
||||||
0, /* tp_alloc */
|
0, /* tp_alloc */
|
||||||
string_new, /* tp_new */
|
bytes_new, /* tp_new */
|
||||||
PyObject_Del, /* tp_free */
|
PyObject_Del, /* tp_free */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3143,7 +3143,7 @@ PyBytes_Concat(register PyObject **pv, register PyObject *w)
|
||||||
*pv = NULL;
|
*pv = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
v = string_concat(*pv, w);
|
v = bytes_concat(*pv, w);
|
||||||
Py_DECREF(*pv);
|
Py_DECREF(*pv);
|
||||||
*pv = v;
|
*pv = v;
|
||||||
}
|
}
|
||||||
|
@ -3455,7 +3455,7 @@ PyTypeObject PyBytesIter_Type = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
str_iter(PyObject *seq)
|
bytes_iter(PyObject *seq)
|
||||||
{
|
{
|
||||||
striterobject *it;
|
striterobject *it;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue