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