1 #if STRINGLIB_IS_UNICODE
2 # error "ctype.h only compatible with byte-wise strings"
3 #endif
4
5 #include "pycore_bytes_methods.h"
6
7 static PyObject*
stringlib_isspace(PyObject * self,PyObject * Py_UNUSED (ignored))8 stringlib_isspace(PyObject *self, PyObject *Py_UNUSED(ignored))
9 {
10 return _Py_bytes_isspace(STRINGLIB_STR(self), STRINGLIB_LEN(self));
11 }
12
13 static PyObject*
stringlib_isalpha(PyObject * self,PyObject * Py_UNUSED (ignored))14 stringlib_isalpha(PyObject *self, PyObject *Py_UNUSED(ignored))
15 {
16 return _Py_bytes_isalpha(STRINGLIB_STR(self), STRINGLIB_LEN(self));
17 }
18
19 static PyObject*
stringlib_isalnum(PyObject * self,PyObject * Py_UNUSED (ignored))20 stringlib_isalnum(PyObject *self, PyObject *Py_UNUSED(ignored))
21 {
22 return _Py_bytes_isalnum(STRINGLIB_STR(self), STRINGLIB_LEN(self));
23 }
24
25 static PyObject*
stringlib_isascii(PyObject * self,PyObject * Py_UNUSED (ignored))26 stringlib_isascii(PyObject *self, PyObject *Py_UNUSED(ignored))
27 {
28 return _Py_bytes_isascii(STRINGLIB_STR(self), STRINGLIB_LEN(self));
29 }
30
31 static PyObject*
stringlib_isdigit(PyObject * self,PyObject * Py_UNUSED (ignored))32 stringlib_isdigit(PyObject *self, PyObject *Py_UNUSED(ignored))
33 {
34 return _Py_bytes_isdigit(STRINGLIB_STR(self), STRINGLIB_LEN(self));
35 }
36
37 static PyObject*
stringlib_islower(PyObject * self,PyObject * Py_UNUSED (ignored))38 stringlib_islower(PyObject *self, PyObject *Py_UNUSED(ignored))
39 {
40 return _Py_bytes_islower(STRINGLIB_STR(self), STRINGLIB_LEN(self));
41 }
42
43 static PyObject*
stringlib_isupper(PyObject * self,PyObject * Py_UNUSED (ignored))44 stringlib_isupper(PyObject *self, PyObject *Py_UNUSED(ignored))
45 {
46 return _Py_bytes_isupper(STRINGLIB_STR(self), STRINGLIB_LEN(self));
47 }
48
49 static PyObject*
stringlib_istitle(PyObject * self,PyObject * Py_UNUSED (ignored))50 stringlib_istitle(PyObject *self, PyObject *Py_UNUSED(ignored))
51 {
52 return _Py_bytes_istitle(STRINGLIB_STR(self), STRINGLIB_LEN(self));
53 }
54
55
56 /* functions that return a new object partially translated by ctype funcs: */
57
58 static PyObject*
stringlib_lower(PyObject * self,PyObject * Py_UNUSED (ignored))59 stringlib_lower(PyObject *self, PyObject *Py_UNUSED(ignored))
60 {
61 PyObject* newobj;
62 newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
63 if (!newobj)
64 return NULL;
65 _Py_bytes_lower(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
66 STRINGLIB_LEN(self));
67 return newobj;
68 }
69
70 static PyObject*
stringlib_upper(PyObject * self,PyObject * Py_UNUSED (ignored))71 stringlib_upper(PyObject *self, PyObject *Py_UNUSED(ignored))
72 {
73 PyObject* newobj;
74 newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
75 if (!newobj)
76 return NULL;
77 _Py_bytes_upper(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
78 STRINGLIB_LEN(self));
79 return newobj;
80 }
81
82 static PyObject*
stringlib_title(PyObject * self,PyObject * Py_UNUSED (ignored))83 stringlib_title(PyObject *self, PyObject *Py_UNUSED(ignored))
84 {
85 PyObject* newobj;
86 newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
87 if (!newobj)
88 return NULL;
89 _Py_bytes_title(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
90 STRINGLIB_LEN(self));
91 return newobj;
92 }
93
94 static PyObject*
stringlib_capitalize(PyObject * self,PyObject * Py_UNUSED (ignored))95 stringlib_capitalize(PyObject *self, PyObject *Py_UNUSED(ignored))
96 {
97 PyObject* newobj;
98 newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
99 if (!newobj)
100 return NULL;
101 _Py_bytes_capitalize(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
102 STRINGLIB_LEN(self));
103 return newobj;
104 }
105
106 static PyObject*
stringlib_swapcase(PyObject * self,PyObject * Py_UNUSED (ignored))107 stringlib_swapcase(PyObject *self, PyObject *Py_UNUSED(ignored))
108 {
109 PyObject* newobj;
110 newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
111 if (!newobj)
112 return NULL;
113 _Py_bytes_swapcase(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
114 STRINGLIB_LEN(self));
115 return newobj;
116 }
117