stropmodule.c: use C isspace(c) to test for whitespace; add

whitespace variable to module dict.
This commit is contained in:
Guido van Rossum 1993-07-08 11:12:36 +00:00
parent df5638662d
commit d05eb8b0fc
1 changed files with 19 additions and 7 deletions

View File

@ -27,6 +27,8 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "allobjects.h" #include "allobjects.h"
#include "modsupport.h" #include "modsupport.h"
#include <ctype.h>
static object * static object *
strop_split(self, args) strop_split(self, args)
@ -47,12 +49,12 @@ strop_split(self, args)
i = 0; i = 0;
while (i < len) { while (i < len) {
while (i < len && while (i < len &&
((c = s[i]) == ' ' || c == '\t' || c == '\n')) { ((c = s[i]), isspace(c))) {
i = i+1; i = i+1;
} }
j = i; j = i;
while (i < len && while (i < len &&
!((c = s[i]) == ' ' || c == '\t' || c == '\n')) { !((c = s[i]), isspace(c))) {
i = i+1; i = i+1;
} }
if (j < i) { if (j < i) {
@ -226,14 +228,14 @@ strop_strip(self, args)
return NULL; return NULL;
i = 0; i = 0;
while (i < len && ((c = s[i]) == ' ' || c == '\t' || c == '\n')) { while (i < len && ((c = s[i]), isspace(c))) {
i++; i++;
} }
j = len; j = len;
do { do {
j--; j--;
} while (j >= i && ((c = s[j]) == ' ' || c == '\t' || c == '\n')); } while (j >= i && ((c = s[j]), isspace(c)));
j++; j++;
if (i == 0 && j == len) { if (i == 0 && j == len) {
@ -245,8 +247,6 @@ strop_strip(self, args)
} }
#include <ctype.h>
static object * static object *
strop_lower(self, args) strop_lower(self, args)
object *self; /* Not used */ object *self; /* Not used */
@ -370,5 +370,17 @@ static struct methodlist strop_methods[] = {
void void
initstrop() initstrop()
{ {
initmodule("strop", strop_methods); object *m, *d, *s;
char buf[256];
int c, n;
m = initmodule("strop", strop_methods);
d = getmoduledict(m);
n = 0;
for (c = 1; c < 256; c++) {
if (isspace(c))
buf[n++] = c;
}
s = newsizedstringobject(buf, n);
dictinsert(d, "whitespace", s);
DECREF(s);
} }