diff options
Diffstat (limited to 'appl/lib/libc.b')
| -rw-r--r-- | appl/lib/libc.b | 11 |
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; } |
