mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 f2c5484f9e
			
		
	
	
		f2c5484f9e
		
	
	
	
	
		
			
			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;
 | |
| }
 |