str_diffn.c
changeset 0 c045670f36e9
equal deleted inserted replaced
-1:000000000000 0:c045670f36e9
       
     1 #include "str.h"
       
     2 
       
     3 int str_diffn(s,t,len)
       
     4 register char *s;
       
     5 register char *t;
       
     6 unsigned int len;
       
     7 {
       
     8   register char x;
       
     9 
       
    10   for (;;) {
       
    11     if (!len--) return 0; x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
       
    12     if (!len--) return 0; x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
       
    13     if (!len--) return 0; x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
       
    14     if (!len--) return 0; x = *s; if (x != *t) break; if (!x) break; ++s; ++t;
       
    15   }
       
    16   return ((int)(unsigned int)(unsigned char) x)
       
    17        - ((int)(unsigned int)(unsigned char) *t);
       
    18 }