|
|
1.1 ! root 1: #include <libc.h> ! 2: #include <string.h> ! 3: #include <fio.h> ! 4: #include "dbtypes.h" ! 5: ! 6: dom_distance( ! 7: char *point, ! 8: char *origin ! 9: ){ ! 10: char *p; ! 11: char *o; ! 12: int difference; ! 13: ! 14: difference = 0; ! 15: p = point+strlen(point)-1; ! 16: o = origin+strlen(origin)-1; ! 17: ! 18: /* ! 19: * find first difference ! 20: */ ! 21: for(; o>=origin && p>=point; o--, p--){ ! 22: if(*o!=*p) ! 23: break; ! 24: } ! 25: if(o<origin){ ! 26: return 0; /* the same */ ! 27: } ! 28: ! 29: /* ! 30: * count different elements ! 31: */ ! 32: for(; o>=origin; o--) ! 33: if(*o=='.') ! 34: difference++; ! 35: return difference+1; ! 36: } ! 37: ! 38: dk_distance( ! 39: char *point, ! 40: char *origin ! 41: ){ ! 42: int difference; ! 43: ! 44: /* ! 45: * find first difference ! 46: */ ! 47: for(difference = 0; *origin; origin++, point++){ ! 48: if(*origin!=*point) ! 49: break; ! 50: } ! 51: if(*origin=='\0'){ ! 52: return 0; ! 53: } ! 54: ! 55: /* ! 56: * count different elements ! 57: */ ! 58: for(; *origin; origin++) ! 59: if(*origin=='/') ! 60: difference++; ! 61: return difference+1; ! 62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.