summaryrefslogtreecommitdiff
path: root/appl/lib/libc.b
diff options
context:
space:
mode:
Diffstat (limited to 'appl/lib/libc.b')
-rw-r--r--appl/lib/libc.b11
1 files changed, 9 insertions, 2 deletions
diff --git a/appl/lib/libc.b b/appl/lib/libc.b
index 0acc6f42..8260277e 100644
--- a/appl/lib/libc.b
+++ b/appl/lib/libc.b
@@ -113,9 +113,16 @@ strncmp(s1: string, s2: string, n: int): int
{
l1 := len s1;
l2 := len s2;
- for(i := 0; i < l1 && i < l2 && i < n; i++)
+ m := n;
+ if(m > l1)
+ m = l1;
+ if(m > l2)
+ m = l2;
+ for(i := 0; i < m; i++)
if(s1[i] != s2[i])
- return s1[i]-int s2[i];
+ return s1[i]-s2[i];
+ if(i == n)
+ return 0;
return l1-l2;
}