Back to index

python3.2  3.2.2
Defines | Functions | Variables
bytes_methods.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define PyDoc_STRVAR_shared(name, str)   const char name[] = PyDoc_STR(str)

Functions

PyObject_Py_bytes_isspace (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_isalpha (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_isalnum (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_isdigit (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_islower (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_isupper (const char *cptr, Py_ssize_t len)
PyObject_Py_bytes_istitle (const char *cptr, Py_ssize_t len)
void _Py_bytes_lower (char *result, const char *cptr, Py_ssize_t len)
void _Py_bytes_upper (char *result, const char *cptr, Py_ssize_t len)
void _Py_bytes_title (char *result, char *s, Py_ssize_t len)
void _Py_bytes_capitalize (char *result, char *s, Py_ssize_t len)
void _Py_bytes_swapcase (char *result, char *s, Py_ssize_t len)
PyObject_Py_bytes_maketrans (PyObject *args)

Variables

const char _Py_isspace__doc__ []
const char _Py_isalpha__doc__ []
const char _Py_isalnum__doc__ []
const char _Py_isdigit__doc__ []
const char _Py_islower__doc__ []
const char _Py_isupper__doc__ []
const char _Py_istitle__doc__ []
const char _Py_lower__doc__ []
const char _Py_upper__doc__ []
const char _Py_title__doc__ []
const char _Py_capitalize__doc__ []
const char _Py_swapcase__doc__ []
const char _Py_maketrans__doc__ []

Define Documentation

#define PyDoc_STRVAR_shared (   name,
  str 
)    const char name[] = PyDoc_STR(str)

Definition at line 43 of file bytes_methods.h.


Function Documentation

void _Py_bytes_capitalize ( char *  result,
char *  s,
Py_ssize_t  len 
)

Definition at line 317 of file bytes_methods.c.

{
    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++;
    }
}

Here is the caller graph for this function:

PyObject* _Py_bytes_isalnum ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 71 of file bytes_methods.c.

{
    register const unsigned char *p
        = (unsigned char *) cptr;
    register const unsigned char *e;

    /* Shortcut for single character strings */
    if (len == 1 && Py_ISALNUM(*p))
        Py_RETURN_TRUE;

    /* Special case for empty strings */
    if (len == 0)
        Py_RETURN_FALSE;

    e = p + len;
    for (; p < e; p++) {
        if (!Py_ISALNUM(*p))
            Py_RETURN_FALSE;
    }
    Py_RETURN_TRUE;
}

Here is the caller graph for this function:

PyObject* _Py_bytes_isalpha ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 41 of file bytes_methods.c.

{
    register const unsigned char *p
        = (unsigned char *) cptr;
    register const unsigned char *e;

    /* Shortcut for single character strings */
    if (len == 1 && Py_ISALPHA(*p))
        Py_RETURN_TRUE;

    /* Special case for empty strings */
    if (len == 0)
        Py_RETURN_FALSE;

    e = p + len;
    for (; p < e; p++) {
        if (!Py_ISALPHA(*p))
            Py_RETURN_FALSE;
    }
    Py_RETURN_TRUE;
}

Here is the caller graph for this function:

PyObject* _Py_bytes_isdigit ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 101 of file bytes_methods.c.

{
    register const unsigned char *p
        = (unsigned char *) cptr;
    register const unsigned char *e;

    /* Shortcut for single character strings */
    if (len == 1 && Py_ISDIGIT(*p))
        Py_RETURN_TRUE;

    /* Special case for empty strings */
    if (len == 0)
        Py_RETURN_FALSE;

    e = p + len;
    for (; p < e; p++) {
        if (!Py_ISDIGIT(*p))
            Py_RETURN_FALSE;
    }
    Py_RETURN_TRUE;
}

Here is the caller graph for this function:

PyObject* _Py_bytes_islower ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 131 of file bytes_methods.c.

{
    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);
}

Here is the call graph for this function:

Here is the caller graph for this function:

PyObject* _Py_bytes_isspace ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 11 of file bytes_methods.c.

{
    register const unsigned char *p
        = (unsigned char *) cptr;
    register const unsigned char *e;

    /* Shortcut for single character strings */
    if (len == 1 && Py_ISSPACE(*p))
        Py_RETURN_TRUE;

    /* Special case for empty strings */
    if (len == 0)
        Py_RETURN_FALSE;

    e = p + len;
    for (; p < e; p++) {
        if (!Py_ISSPACE(*p))
            Py_RETURN_FALSE;
    }
    Py_RETURN_TRUE;
}

Here is the caller graph for this function:

PyObject* _Py_bytes_istitle ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 201 of file bytes_methods.c.

{
    register const unsigned char *p
        = (unsigned char *) cptr;
    register 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++) {
        register 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);
}

Here is the call graph for this function:

Here is the caller graph for this function:

PyObject* _Py_bytes_isupper ( const char *  cptr,
Py_ssize_t  len 
)

Definition at line 165 of file bytes_methods.c.

{
    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_ISUPPER(*p));

    /* Special case for empty strings */
    if (len == 0)
        Py_RETURN_FALSE;

    e = p + len;
    cased = 0;
    for (; p < e; p++) {
        if (Py_ISLOWER(*p))
            Py_RETURN_FALSE;
        else if (!cased && Py_ISUPPER(*p))
            cased = 1;
    }
    return PyBool_FromLong(cased);
}

Here is the call graph for this function:

Here is the caller graph for this function:

void _Py_bytes_lower ( char *  result,
const char *  cptr,
Py_ssize_t  len 
)

Definition at line 247 of file bytes_methods.c.

{
    Py_ssize_t i;

    Py_MEMCPY(result, cptr, len);

    for (i = 0; i < len; i++) {
        int c = Py_CHARMASK(result[i]);
        if (Py_ISUPPER(c))
            result[i] = Py_TOLOWER(c);
    }
}

Here is the caller graph for this function:

Definition at line 393 of file bytes_methods.c.

{
    PyObject *frm, *to, *res = NULL;
    Py_buffer bfrm, bto;
    Py_ssize_t i;
    char *p;

    bfrm.len = -1;
    bto.len = -1;

    if (!PyArg_ParseTuple(args, "OO:maketrans", &frm, &to))
        return NULL;
    if (_getbuffer(frm, &bfrm) < 0)
        return NULL;
    if (_getbuffer(to, &bto) < 0)
        goto done;
    if (bfrm.len != bto.len) {
        PyErr_Format(PyExc_ValueError,
                     "maketrans arguments must have same length");
        goto done;
    }
    res = PyBytes_FromStringAndSize(NULL, 256);
    if (!res) {
        goto done;
    }
    p = PyBytes_AS_STRING(res);
    for (i = 0; i < 256; i++)
        p[i] = (char) i;
    for (i = 0; i < bfrm.len; i++) {
        p[((unsigned char *)bfrm.buf)[i]] = ((char *)bto.buf)[i];
    }

done:
    if (bfrm.len != -1)
        PyBuffer_Release(&bfrm);
    if (bto.len != -1)
        PyBuffer_Release(&bto);
    return res;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void _Py_bytes_swapcase ( char *  result,
char *  s,
Py_ssize_t  len 
)

Definition at line 347 of file bytes_methods.c.

{
    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++;
    }
}

Here is the caller graph for this function:

void _Py_bytes_title ( char *  result,
char *  s,
Py_ssize_t  len 
)

Definition at line 288 of file bytes_methods.c.

{
    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;
    }
}

Here is the caller graph for this function:

void _Py_bytes_upper ( char *  result,
const char *  cptr,
Py_ssize_t  len 
)

Definition at line 267 of file bytes_methods.c.

{
    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);
    }
}

Here is the caller graph for this function:


Variable Documentation