Annotation of researchv10no/ipc/mgrs/ns/distance.c, revision 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.