|
|
1.1 ! root 1: /* ! 2: * "@(#)s_cmp.c 1.1" ! 3: */ ! 4: ! 5: int s_cmp(a, b, la, lb) /* compare two strings */ ! 6: register char *a, *b; ! 7: long int la, lb; ! 8: { ! 9: register char *aend, *bend; ! 10: aend = a + la; ! 11: bend = b + lb; ! 12: ! 13: if(la <= lb) ! 14: { ! 15: while(a < aend) ! 16: if(*a != *b) ! 17: return( *a - *b ); ! 18: else ! 19: { ++a; ++b; } ! 20: ! 21: while(b < bend) ! 22: if(*b != ' ') ! 23: return( ' ' - *b ); ! 24: else ++b; ! 25: } ! 26: ! 27: else ! 28: { ! 29: while(b < bend) ! 30: if(*a == *b) ! 31: { ++a; ++b; } ! 32: else ! 33: return( *a - *b ); ! 34: while(a < aend) ! 35: if(*a != ' ') ! 36: return(*a - ' '); ! 37: else ++a; ! 38: } ! 39: return(0); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.