summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/stropmodule.c288
1 files changed, 136 insertions, 152 deletions
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index 203feb9..af5aa77 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -1,11 +1,10 @@
-
/* strop module */
static char strop_module__doc__[] =
-"Common string manipulations, optimized for speed.\n\
-\n\
-Always use \"import string\" rather than referencing\n\
-this module directly.";
+"Common string manipulations, optimized for speed.\n"
+"\n"
+"Always use \"import string\" rather than referencing\n"
+"this module directly.";
#include "Python.h"
@@ -78,15 +77,15 @@ split_whitespace(char *s, int len, int maxsplit)
static char splitfields__doc__[] =
-"split(s [,sep [,maxsplit]]) -> list of strings\n\
-splitfields(s [,sep [,maxsplit]]) -> list of strings\n\
-\n\
-Return a list of the words in the string s, using sep as the\n\
-delimiter string. If maxsplit is nonzero, splits into at most\n\
-maxsplit words. If sep is not specified, any whitespace string\n\
-is a separator. Maxsplit defaults to 0.\n\
-\n\
-(split and splitfields are synonymous)";
+"split(s [,sep [,maxsplit]]) -> list of strings\n"
+"splitfields(s [,sep [,maxsplit]]) -> list of strings\n"
+"\n"
+"Return a list of the words in the string s, using sep as the\n"
+"delimiter string. If maxsplit is nonzero, splits into at most\n"
+"maxsplit words. If sep is not specified, any whitespace string\n"
+"is a separator. Maxsplit defaults to 0.\n"
+"\n"
+"(split and splitfields are synonymous)";
static PyObject *
strop_splitfields(PyObject *self, PyObject *args)
@@ -148,14 +147,14 @@ strop_splitfields(PyObject *self, PyObject *args)
static char joinfields__doc__[] =
-"join(list [,sep]) -> string\n\
-joinfields(list [,sep]) -> string\n\
-\n\
-Return a string composed of the words in list, with\n\
-intervening occurrences of sep. Sep defaults to a single\n\
-space.\n\
-\n\
-(join and joinfields are synonymous)";
+"join(list [,sep]) -> string\n"
+"joinfields(list [,sep]) -> string\n"
+"\n"
+"Return a string composed of the words in list, with\n"
+"intervening occurrences of sep. Sep defaults to a single\n"
+"space.\n"
+"\n"
+"(join and joinfields are synonymous)";
static PyObject *
strop_joinfields(PyObject *self, PyObject *args)
@@ -279,13 +278,13 @@ strop_joinfields(PyObject *self, PyObject *args)
static char find__doc__[] =
-"find(s, sub [,start [,end]]) -> in\n\
-\n\
-Return the lowest index in s where substring sub is found,\n\
-such that sub is contained within s[start,end]. Optional\n\
-arguments start and end are interpreted as in slice notation.\n\
-\n\
-Return -1 on failure.";
+"find(s, sub [,start [,end]]) -> in\n"
+"\n"
+"Return the lowest index in s where substring sub is found,\n"
+"such that sub is contained within s[start,end]. Optional\n"
+"arguments start and end are interpreted as in slice notation.\n"
+"\n"
+"Return -1 on failure.";
static PyObject *
strop_find(PyObject *self, PyObject *args)
@@ -321,13 +320,13 @@ strop_find(PyObject *self, PyObject *args)
static char rfind__doc__[] =
-"rfind(s, sub [,start [,end]]) -> int\n\
-\n\
-Return the highest index in s where substring sub is found,\n\
-such that sub is contained within s[start,end]. Optional\n\
-arguments start and end are interpreted as in slice notation.\n\
-\n\
-Return -1 on failure.";
+"rfind(s, sub [,start [,end]]) -> int\n"
+"\n"
+"Return the highest index in s where substring sub is found,\n"
+"such that sub is contained within s[start,end]. Optional\n"
+"arguments start and end are interpreted as in slice notation.\n"
+"\n"
+"Return -1 on failure.";
static PyObject *
strop_rfind(PyObject *self, PyObject *args)
@@ -397,10 +396,10 @@ do_strip(PyObject *args, int striptype)
static char strip__doc__[] =
-"strip(s) -> string\n\
-\n\
-Return a copy of the string s with leading and trailing\n\
-whitespace removed.";
+"strip(s) -> string\n"
+"\n"
+"Return a copy of the string s with leading and trailing\n"
+"whitespace removed.";
static PyObject *
strop_strip(PyObject *self, PyObject *args)
@@ -410,9 +409,9 @@ strop_strip(PyObject *self, PyObject *args)
static char lstrip__doc__[] =
-"lstrip(s) -> string\n\
-\n\
-Return a copy of the string s with leading whitespace removed.";
+"lstrip(s) -> string\n"
+"\n"
+"Return a copy of the string s with leading whitespace removed.";
static PyObject *
strop_lstrip(PyObject *self, PyObject *args)
@@ -422,9 +421,9 @@ strop_lstrip(PyObject *self, PyObject *args)
static char rstrip__doc__[] =
-"rstrip(s) -> string\n\
-\n\
-Return a copy of the string s with trailing whitespace removed.";
+"rstrip(s) -> string\n"
+"\n"
+"Return a copy of the string s with trailing whitespace removed.";
static PyObject *
strop_rstrip(PyObject *self, PyObject *args)
@@ -434,9 +433,9 @@ strop_rstrip(PyObject *self, PyObject *args)
static char lower__doc__[] =
-"lower(s) -> string\n\
-\n\
-Return a copy of the string s converted to lowercase.";
+"lower(s) -> string\n"
+"\n"
+"Return a copy of the string s converted to lowercase.";
static PyObject *
strop_lower(PyObject *self, PyObject *args)
@@ -472,9 +471,9 @@ strop_lower(PyObject *self, PyObject *args)
static char upper__doc__[] =
-"upper(s) -> string\n\
-\n\
-Return a copy of the string s converted to uppercase.";
+"upper(s) -> string\n"
+"\n"
+"Return a copy of the string s converted to uppercase.";
static PyObject *
strop_upper(PyObject *self, PyObject *args)
@@ -510,10 +509,10 @@ strop_upper(PyObject *self, PyObject *args)
static char capitalize__doc__[] =
-"capitalize(s) -> string\n\
-\n\
-Return a copy of the string s with only its first character\n\
-capitalized.";
+"capitalize(s) -> string\n"
+"\n"
+"Return a copy of the string s with only its first character\n"
+"capitalized.";
static PyObject *
strop_capitalize(PyObject *self, PyObject *args)
@@ -558,12 +557,12 @@ strop_capitalize(PyObject *self, PyObject *args)
static char expandtabs__doc__[] =
-"expandtabs(string, [tabsize]) -> string\n\
-\n\
-Expand tabs in a string, i.e. replace them by one or more spaces,\n\
-depending on the current column and the given tab size (default 8).\n\
-The column number is reset to zero after each newline occurring in the\n\
-string. This doesn't understand other non-printing characters.";
+"expandtabs(string, [tabsize]) -> string\n"
+"\n"
+"Expand tabs in a string, i.e. replace them by one or more spaces,\n"
+"depending on the current column and the given tab size (default 8).\n"
+"The column number is reset to zero after each newline occurring in the\n"
+"string. This doesn't understand other non-printing characters.";
static PyObject *
strop_expandtabs(PyObject *self, PyObject *args)
@@ -629,11 +628,11 @@ strop_expandtabs(PyObject *self, PyObject *args)
static char count__doc__[] =
-"count(s, sub[, start[, end]]) -> int\n\
-\n\
-Return the number of occurrences of substring sub in string\n\
-s[start:end]. Optional arguments start and end are\n\
-interpreted as in slice notation.";
+"count(s, sub[, start[, end]]) -> int\n"
+"\n"
+"Return the number of occurrences of substring sub in string\n"
+"s[start:end]. Optional arguments start and end are\n"
+"interpreted as in slice notation.";
static PyObject *
strop_count(PyObject *self, PyObject *args)
@@ -673,10 +672,10 @@ strop_count(PyObject *self, PyObject *args)
static char swapcase__doc__[] =
-"swapcase(s) -> string\n\
-\n\
-Return a copy of the string s with upper case characters\n\
-converted to lowercase and vice versa.";
+"swapcase(s) -> string\n"
+"\n"
+"Return a copy of the string s with upper case characters\n"
+"converted to lowercase and vice versa.";
static PyObject *
strop_swapcase(PyObject *self, PyObject *args)
@@ -717,14 +716,14 @@ strop_swapcase(PyObject *self, PyObject *args)
static char atoi__doc__[] =
-"atoi(s [,base]) -> int\n\
-\n\
-Return the integer represented by the string s in the given\n\
-base, which defaults to 10. The string s must consist of one\n\
-or more digits, possibly preceded by a sign. If base is 0, it\n\
-is chosen from the leading characters of s, 0 for octal, 0x or\n\
-0X for hexadecimal. If base is 16, a preceding 0x or 0X is\n\
-accepted.";
+"atoi(s [,base]) -> int\n"
+"\n"
+"Return the integer represented by the string s in the given\n"
+"base, which defaults to 10. The string s must consist of one\n"
+"or more digits, possibly preceded by a sign. If base is 0, it\n"
+"is chosen from the leading characters of s, 0 for octal, 0x or\n"
+"0X for hexadecimal. If base is 16, a preceding 0x or 0X is\n"
+"accepted.";
static PyObject *
strop_atoi(PyObject *self, PyObject *args)
@@ -769,15 +768,15 @@ strop_atoi(PyObject *self, PyObject *args)
static char atol__doc__[] =
-"atol(s [,base]) -> long\n\
-\n\
-Return the long integer represented by the string s in the\n\
-given base, which defaults to 10. The string s must consist\n\
-of one or more digits, possibly preceded by a sign. If base\n\
-is 0, it is chosen from the leading characters of s, 0 for\n\
-octal, 0x or 0X for hexadecimal. If base is 16, a preceding\n\
-0x or 0X is accepted. A trailing L or l is not accepted,\n\
-unless base is 0.";
+"atol(s [,base]) -> long\n"
+"\n"
+"Return the long integer represented by the string s in the\n"
+"given base, which defaults to 10. The string s must consist\n"
+"of one or more digits, possibly preceded by a sign. If base\n"
+"is 0, it is chosen from the leading characters of s, 0 for\n"
+"octal, 0x or 0X for hexadecimal. If base is 16, a preceding\n"
+"0x or 0X is accepted. A trailing L or l is not accepted,\n"
+"unless base is 0.";
static PyObject *
strop_atol(PyObject *self, PyObject *args)
@@ -819,9 +818,9 @@ strop_atol(PyObject *self, PyObject *args)
static char atof__doc__[] =
-"atof(s) -> float\n\
-\n\
-Return the floating point number represented by the string s.";
+"atof(s) -> float\n"
+"\n"
+"Return the floating point number represented by the string s.";
static PyObject *
strop_atof(PyObject *self, PyObject *args)
@@ -860,11 +859,11 @@ strop_atof(PyObject *self, PyObject *args)
static char maketrans__doc__[] =
-"maketrans(frm, to) -> string\n\
-\n\
-Return a translation table (a string of 256 bytes long)\n\
-suitable for use in string.translate. The strings frm and to\n\
-must be of the same length.";
+"maketrans(frm, to) -> string\n"
+"\n"
+"Return a translation table (a string of 256 bytes long)\n"
+"suitable for use in string.translate. The strings frm and to\n"
+"must be of the same length.";
static PyObject *
strop_maketrans(PyObject *self, PyObject *args)
@@ -896,12 +895,12 @@ strop_maketrans(PyObject *self, PyObject *args)
static char translate__doc__[] =
-"translate(s,table [,deletechars]) -> string\n\
-\n\
-Return a copy of the string s, where all characters occurring\n\
-in the optional argument deletechars are removed, and the\n\
-remaining characters have been mapped through the given\n\
-translation table, which must be a string of length 256.";
+"translate(s,table [,deletechars]) -> string\n"
+"\n"
+"Return a copy of the string s, where all characters occurring\n"
+"in the optional argument deletechars are removed, and the\n"
+"remaining characters have been mapped through the given\n"
+"translation table, which must be a string of length 256.";
static PyObject *
strop_translate(PyObject *self, PyObject *args)
@@ -982,7 +981,8 @@ strop_translate(PyObject *self, PyObject *args)
found, or -1 if not found. If len of PAT is greater than length of
MEM, the function returns -1.
*/
-static int mymemfind(char *mem, int len, char *pat, int pat_len)
+static int
+mymemfind(char *mem, int len, char *pat, int pat_len)
{
register int ii;
@@ -1006,7 +1006,8 @@ static int mymemfind(char *mem, int len, char *pat, int pat_len)
meaning mem=1111 and pat==11 returns 2.
mem=11111 and pat==11 also return 2.
*/
-static int mymemcnt(char *mem, int len, char *pat, int pat_len)
+static int
+mymemcnt(char *mem, int len, char *pat, int pat_len)
{
register int offset = 0;
int nfound = 0;
@@ -1041,7 +1042,11 @@ static int mymemcnt(char *mem, int len, char *pat, int pat_len)
the new string allocated locally, or
NULL if an error occurred.
*/
-static char *mymemreplace(char *str, int len, char *pat, int pat_len, char *sub, int sub_len, int count, int *out_len)
+static char *
+mymemreplace(char *str, int len,
+ char *pat, int pat_len,
+ char *sub, int sub_len,
+ int count, int *out_len)
{
char *out_s;
char *new_s;
@@ -1095,11 +1100,11 @@ static char *mymemreplace(char *str, int len, char *pat, int pat_len, char *sub,
static char replace__doc__[] =
-"replace (str, old, new[, maxsplit]) -> string\n\
-\n\
-Return a copy of string str with all occurrences of substring\n\
-old replaced by new. If the optional argument maxsplit is\n\
-given, only the first maxsplit occurrences are replaced.";
+"replace (str, old, new[, maxsplit]) -> string\n"
+"\n"
+"Return a copy of string str with all occurrences of substring\n"
+"old replaced by new. If the optional argument maxsplit is\n"
+"given, only the first maxsplit occurrences are replaced.";
static PyObject *
strop_replace(PyObject *self, PyObject *args)
@@ -1139,48 +1144,27 @@ strop_replace(PyObject *self, PyObject *args)
static PyMethodDef
strop_methods[] = {
- {"atof", strop_atof,
- METH_VARARGS, atof__doc__},
- {"atoi", strop_atoi,
- METH_VARARGS, atoi__doc__},
- {"atol", strop_atol,
- METH_VARARGS, atol__doc__},
- {"capitalize", strop_capitalize,
- METH_OLDARGS, capitalize__doc__},
- {"count", strop_count,
- METH_VARARGS, count__doc__},
- {"expandtabs", strop_expandtabs,
- METH_VARARGS, expandtabs__doc__},
- {"find", strop_find,
- METH_VARARGS, find__doc__},
- {"join", strop_joinfields,
- METH_VARARGS, joinfields__doc__},
- {"joinfields", strop_joinfields,
- METH_VARARGS, joinfields__doc__},
- {"lstrip", strop_lstrip,
- METH_OLDARGS, lstrip__doc__},
- {"lower", strop_lower,
- METH_OLDARGS, lower__doc__},
- {"maketrans", strop_maketrans,
- METH_VARARGS, maketrans__doc__},
- {"replace", strop_replace,
- METH_VARARGS, replace__doc__},
- {"rfind", strop_rfind,
- METH_VARARGS, rfind__doc__},
- {"rstrip", strop_rstrip,
- METH_OLDARGS, rstrip__doc__},
- {"split", strop_splitfields,
- METH_VARARGS, splitfields__doc__},
- {"splitfields", strop_splitfields,
- METH_VARARGS, splitfields__doc__},
- {"strip", strop_strip,
- METH_OLDARGS, strip__doc__},
- {"swapcase", strop_swapcase,
- METH_OLDARGS, swapcase__doc__},
- {"translate", strop_translate,
- METH_VARARGS, translate__doc__},
- {"upper", strop_upper,
- METH_OLDARGS, upper__doc__},
+ {"atof", strop_atof, METH_VARARGS, atof__doc__},
+ {"atoi", strop_atoi, METH_VARARGS, atoi__doc__},
+ {"atol", strop_atol, METH_VARARGS, atol__doc__},
+ {"capitalize", strop_capitalize, METH_OLDARGS, capitalize__doc__},
+ {"count", strop_count, METH_VARARGS, count__doc__},
+ {"expandtabs", strop_expandtabs, METH_VARARGS, expandtabs__doc__},
+ {"find", strop_find, METH_VARARGS, find__doc__},
+ {"join", strop_joinfields, METH_VARARGS, joinfields__doc__},
+ {"joinfields", strop_joinfields, METH_VARARGS, joinfields__doc__},
+ {"lstrip", strop_lstrip, METH_OLDARGS, lstrip__doc__},
+ {"lower", strop_lower, METH_OLDARGS, lower__doc__},
+ {"maketrans", strop_maketrans, METH_VARARGS, maketrans__doc__},
+ {"replace", strop_replace, METH_VARARGS, replace__doc__},
+ {"rfind", strop_rfind, METH_VARARGS, rfind__doc__},
+ {"rstrip", strop_rstrip, METH_OLDARGS, rstrip__doc__},
+ {"split", strop_splitfields, METH_VARARGS, splitfields__doc__},
+ {"splitfields", strop_splitfields, METH_VARARGS, splitfields__doc__},
+ {"strip", strop_strip, METH_OLDARGS, strip__doc__},
+ {"swapcase", strop_swapcase, METH_OLDARGS, swapcase__doc__},
+ {"translate", strop_translate, METH_VARARGS, translate__doc__},
+ {"upper", strop_upper, METH_OLDARGS, upper__doc__},
{NULL, NULL} /* sentinel */
};