xref: /inferno-os/libkern/strcmp.c (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth #include <lib9.h>
2*37da2899SCharles.Forsyth 
3*37da2899SCharles.Forsyth int
strcmp(char * s1,char * s2)4*37da2899SCharles.Forsyth strcmp(char *s1, char *s2)
5*37da2899SCharles.Forsyth {
6*37da2899SCharles.Forsyth 	unsigned c1, c2;
7*37da2899SCharles.Forsyth 
8*37da2899SCharles.Forsyth 	for(;;) {
9*37da2899SCharles.Forsyth 		c1 = *s1++;
10*37da2899SCharles.Forsyth 		c2 = *s2++;
11*37da2899SCharles.Forsyth 		if(c1 != c2) {
12*37da2899SCharles.Forsyth 			if(c1 > c2)
13*37da2899SCharles.Forsyth 				return 1;
14*37da2899SCharles.Forsyth 			return -1;
15*37da2899SCharles.Forsyth 		}
16*37da2899SCharles.Forsyth 		if(c1 == 0)
17*37da2899SCharles.Forsyth 			return 0;
18*37da2899SCharles.Forsyth 	}
19*37da2899SCharles.Forsyth }
20