Kaydet (Commit) 739a3c40 authored tarafından Neal Norwitz's avatar Neal Norwitz

Cleanup the code a bit. test_rfind is failing on PPC and PPC64 buildbots,

this might fix the problem.
üst d006380f
...@@ -253,8 +253,8 @@ mmap_gfind(mmap_object *self, ...@@ -253,8 +253,8 @@ mmap_gfind(mmap_object *self,
int reverse) int reverse)
{ {
Py_ssize_t start = self->pos; Py_ssize_t start = self->pos;
Py_ssize_t end = self->size; Py_ssize_t end = self->size;
char *needle; const char *needle;
Py_ssize_t len; Py_ssize_t len;
CHECK_VALID(NULL); CHECK_VALID(NULL);
...@@ -262,7 +262,7 @@ mmap_gfind(mmap_object *self, ...@@ -262,7 +262,7 @@ mmap_gfind(mmap_object *self,
&needle, &len, &start, &end)) { &needle, &len, &start, &end)) {
return NULL; return NULL;
} else { } else {
char *p; const char *p, *start_p, *end_p;
char sign = reverse ? -1 : 1; char sign = reverse ? -1 : 1;
if (start < 0) if (start < 0)
...@@ -279,11 +279,11 @@ mmap_gfind(mmap_object *self, ...@@ -279,11 +279,11 @@ mmap_gfind(mmap_object *self,
else if ((size_t)end > self->size) else if ((size_t)end > self->size)
end = self->size; end = self->size;
start += (Py_ssize_t)self->data; start_p = self->data + start;
end += (Py_ssize_t)self->data; end_p = self->data + end;
for (p = (char *)(reverse ? end - len : start); for (p = (reverse ? end_p - len : start_p);
p >= (char *)start && p + len <= (char *)end; p+=sign) { (p >= start_p) && (p + len <= end_p); p += sign) {
Py_ssize_t i; Py_ssize_t i;
for (i = 0; i < len && needle[i] == p[i]; ++i) for (i = 0; i < len && needle[i] == p[i]; ++i)
/* nothing */; /* nothing */;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment