PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len) { register const unsigned char *p = (unsigned char *) cptr; register const unsigned char *e; int cased; /* Shortcut for single character strings */ if (len == 1) return PyBool_FromLong(Py_ISLOWER(*p)); /* Special case for empty strings */ if (len == 0) Py_RETURN_FALSE; e = p + len; cased = 0; for (; p < e; p++) { if (Py_ISUPPER(*p)) Py_RETURN_FALSE; else if (!cased && Py_ISLOWER(*p)) cased = 1; } return PyBool_FromLong(cased); }
void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len) { Py_ssize_t i; /* newobj = PyString_FromStringAndSize(NULL, len); if (newobj == NULL) return NULL; s_new = PyString_AsString(newobj); */ if (0 < len) { int c = Py_CHARMASK(*s++); if (Py_ISLOWER(c)) *result = Py_TOUPPER(c); else *result = c; result++; } for (i = 1; i < len; i++) { int c = Py_CHARMASK(*s++); if (Py_ISUPPER(c)) *result = Py_TOLOWER(c); else *result = c; result++; } }
void _Py_bytes_title(char *result, char *s, Py_ssize_t len) { Py_ssize_t i; int previous_is_cased = 0; /* newobj = PyString_FromStringAndSize(NULL, len); if (newobj == NULL) return NULL; s_new = PyString_AsString(newobj); */ for (i = 0; i < len; i++) { int c = Py_CHARMASK(*s++); if (Py_ISLOWER(c)) { if (!previous_is_cased) c = Py_TOUPPER(c); previous_is_cased = 1; } else if (Py_ISUPPER(c)) { if (previous_is_cased) c = Py_TOLOWER(c); previous_is_cased = 1; } else previous_is_cased = 0; *result++ = c; } }
void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len) { Py_ssize_t i; Py_MEMCPY(result, cptr, len); for (i = 0; i < len; i++) { int c = Py_CHARMASK(result[i]); if (Py_ISLOWER(c)) result[i] = Py_TOUPPER(c); } }
void _Py_bytes_swapcase(char *result, char *s, Py_ssize_t len) { Py_ssize_t i; for (i = 0; i < len; i++) { int c = Py_CHARMASK(*s++); if (Py_ISLOWER(c)) { *result = Py_TOUPPER(c); } else if (Py_ISUPPER(c)) { *result = Py_TOLOWER(c); } else *result = c; result++; } }
void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len) { Py_ssize_t i; /* newobj = PyString_FromStringAndSize(NULL, len); if (!newobj) return NULL; s = PyString_AS_STRING(newobj); */ Py_MEMCPY(result, cptr, len); for (i = 0; i < len; i++) { int c = Py_CHARMASK(result[i]); if (Py_ISLOWER(c)) result[i] = Py_TOUPPER(c); } }
void _Py_bytes_title(char *result, char *s, Py_ssize_t len) { Py_ssize_t i; int previous_is_cased = 0; for (i = 0; i < len; i++) { int c = Py_CHARMASK(*s++); if (Py_ISLOWER(c)) { if (!previous_is_cased) c = Py_TOUPPER(c); previous_is_cased = 1; } else if (Py_ISUPPER(c)) { if (previous_is_cased) c = Py_TOLOWER(c); previous_is_cased = 1; } else previous_is_cased = 0; *result++ = c; } }
void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len) { Py_ssize_t i; if (0 < len) { int c = Py_CHARMASK(*s++); if (Py_ISLOWER(c)) *result = Py_TOUPPER(c); else *result = c; result++; } for (i = 1; i < len; i++) { int c = Py_CHARMASK(*s++); if (Py_ISUPPER(c)) *result = Py_TOLOWER(c); else *result = c; result++; } }
PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len) { const unsigned char *p = (unsigned char *) cptr; const unsigned char *e; int cased, previous_is_cased; /* Shortcut for single character strings */ if (len == 1) return PyBool_FromLong(Py_ISUPPER(*p)); /* Special case for empty strings */ if (len == 0) Py_RETURN_FALSE; e = p + len; cased = 0; previous_is_cased = 0; for (; p < e; p++) { const unsigned char ch = *p; if (Py_ISUPPER(ch)) { if (previous_is_cased) Py_RETURN_FALSE; previous_is_cased = 1; cased = 1; } else if (Py_ISLOWER(ch)) { if (!previous_is_cased) Py_RETURN_FALSE; previous_is_cased = 1; cased = 1; } else previous_is_cased = 0; } return PyBool_FromLong(cased); }