summaryrefslogtreecommitdiffstats
path: root/Modules/stropmodule.c
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 /Modules/stropmodule.c
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.
Diffstat (limited to 'Modules/stropmodule.c')
-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);