Replace all uses of strncmp (in split, find, rfind) with memcmp, so

embedded \0 in the delimiter is handled properly.  Thanks to Sjoerd
for suggesting this.
This commit is contained in:
Guido van Rossum 1996-10-04 13:39:37 +00:00
parent fe779a1dc8
commit a0ca4c402d
1 changed files with 3 additions and 3 deletions

View File

@ -132,7 +132,7 @@ strop_splitfields(self, args)
i = j = 0;
while (i+n <= len) {
if (s[i] == sub[0] && (n == 1 || strncmp(s+i, sub, n) == 0)) {
if (s[i] == sub[0] && (n == 1 || memcmp(s+i, sub, n) == 0)) {
item = newsizedstringobject(s+j, (int)(i-j));
if (item == NULL)
goto fail;
@ -261,7 +261,7 @@ strop_find(self, args)
len -= n;
for (; i <= len; ++i)
if (s[i] == sub[0] &&
(n == 1 || strncmp(&s[i+1], &sub[1], n-1) == 0))
(n == 1 || memcmp(&s[i+1], &sub[1], n-1) == 0))
return newintobject((long)i);
return newintobject(-1L);
@ -294,7 +294,7 @@ strop_rfind(self, args)
for (j = len-n; j >= i; --j)
if (s[j] == sub[0] &&
(n == 1 || strncmp(&s[j+1], &sub[1], n-1) == 0))
(n == 1 || memcmp(&s[j+1], &sub[1], n-1) == 0))
return newintobject((long)j);
return newintobject(-1L);