mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	svn+ssh://pythondev@svn.python.org/python/trunk ........ r77461 | antoine.pitrou | 2010-01-13 08:55:48 +0100 (mer., 13 janv. 2010) | 5 lines Issue #7622: Improve the split(), rsplit(), splitlines() and replace() methods of bytes, bytearray and unicode objects by using a common implementation based on stringlib's fast search. Patch by Florent Xicluna. ........
		
			
				
	
	
		
			109 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* NOTE: this API is -ONLY- for use with single byte character strings. */
 | 
						|
/* Do not use it with Unicode. */
 | 
						|
 | 
						|
#include "bytes_methods.h"
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_isspace(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_isspace(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_isalpha(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_isalpha(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_isalnum(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_isalnum(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_isdigit(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_isdigit(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_islower(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_islower(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_isupper(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_isupper(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_istitle(PyObject *self)
 | 
						|
{
 | 
						|
    return _Py_bytes_istitle(STRINGLIB_STR(self), STRINGLIB_LEN(self));
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/* functions that return a new object partially translated by ctype funcs: */
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_lower(PyObject *self)
 | 
						|
{
 | 
						|
    PyObject* newobj;
 | 
						|
    newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
 | 
						|
    if (!newobj)
 | 
						|
            return NULL;
 | 
						|
    _Py_bytes_lower(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
 | 
						|
                 STRINGLIB_LEN(self));
 | 
						|
    return newobj;
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_upper(PyObject *self)
 | 
						|
{
 | 
						|
    PyObject* newobj;
 | 
						|
    newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
 | 
						|
    if (!newobj)
 | 
						|
            return NULL;
 | 
						|
    _Py_bytes_upper(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
 | 
						|
                 STRINGLIB_LEN(self));
 | 
						|
    return newobj;
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_title(PyObject *self)
 | 
						|
{
 | 
						|
    PyObject* newobj;
 | 
						|
    newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
 | 
						|
    if (!newobj)
 | 
						|
            return NULL;
 | 
						|
    _Py_bytes_title(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
 | 
						|
                 STRINGLIB_LEN(self));
 | 
						|
    return newobj;
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_capitalize(PyObject *self)
 | 
						|
{
 | 
						|
    PyObject* newobj;
 | 
						|
    newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
 | 
						|
    if (!newobj)
 | 
						|
            return NULL;
 | 
						|
    _Py_bytes_capitalize(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
 | 
						|
                      STRINGLIB_LEN(self));
 | 
						|
    return newobj;
 | 
						|
}
 | 
						|
 | 
						|
static PyObject*
 | 
						|
stringlib_swapcase(PyObject *self)
 | 
						|
{
 | 
						|
    PyObject* newobj;
 | 
						|
    newobj = STRINGLIB_NEW(NULL, STRINGLIB_LEN(self));
 | 
						|
    if (!newobj)
 | 
						|
            return NULL;
 | 
						|
    _Py_bytes_swapcase(STRINGLIB_STR(newobj), STRINGLIB_STR(self),
 | 
						|
                    STRINGLIB_LEN(self));
 | 
						|
    return newobj;
 | 
						|
}
 |