summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1996-10-04 13:39:37 (GMT)
committerGuido van Rossum <guido@python.org>1996-10-04 13:39:37 (GMT)
commita0ca4c402d1e19cbc9b317632deab0d7c2492987 (patch)
treeb090fb45440bf9b4d69b2d5402bb721abd8dfc2f
parentfe779a1dc8065dc175cb4ff454ed6d3a1944adf0 (diff)
downloadcpython-a0ca4c402d1e19cbc9b317632deab0d7c2492987.zip
cpython-a0ca4c402d1e19cbc9b317632deab0d7c2492987.tar.gz
cpython-a0ca4c402d1e19cbc9b317632deab0d7c2492987.tar.bz2
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.
-rw-r--r--Modules/stropmodule.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index a70df8c..324859e 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -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);