/* Utilities.c from Kernighan & Ritchie */ int strlen(s) /* p 95: return length of string s */ char *s; { int n; for (n=0; *s != '\r' && *s != '\0'; s++) n++; return(n); } void reverse(s) /* p 59: reverse string s in place */ char s[]; { int c, i, j; for (i = 0, j = strlen(s)-1; i='0' && s[i]<='9'; i++) n= 10*n + s[i] - '0'; return(sign * n); } int htoi(s) /* convert s (hexa) to an integer */ char s[]; { int i; unsigned n; for (i=0; s[i]==' ' || s[i]=='\n' || s[i]=='\t'; i++) ; /* skip the white space */ for (n=0; (s[i]>='0' && s[i]<='9') || (s[i]>='A' && s[i]<='B'); i++) n= (s[i]<=9) ? 16*n + s[i] - '0' : 16*n + s[i] - 'A'+10; return(n); } Êæ˜J˜*J˜J˜