Annotation of researchv10dc/ipc/mgrs/ns/distance.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.