Annotation of 43BSDReno/contrib/isode-beta/dsap/common/rdn_cpy.c, revision 1.1

1.1     ! root        1: #include "quipu/util.h"
        !             2: #include "quipu/name.h"
        !             3: #include "quipu/malloc.h"
        !             4: 
        !             5: extern LLog * log_dsap;
        !             6: 
        !             7: RDN  rdn_comp_cpy (rdn)
        !             8: RDN  rdn;
        !             9: {
        !            10: register RDN ptr;
        !            11: unsigned last_heap;
        !            12: 
        !            13:        if (rdn==NULLRDN) {
        !            14:                DLOG (log_dsap,LLOG_DEBUG,("copy of null rdn"));
        !            15:                return (NULLRDN);
        !            16:        }
        !            17: 
        !            18:        ptr = rdn_comp_alloc();
        !            19:        ptr->rdn_at = AttrT_cpy (rdn->rdn_at);
        !            20: 
        !            21:        if ((last_heap = mem_heap) == 1)
        !            22:                mem_heap = 2 + attr_index;
        !            23: 
        !            24:        AttrV_cpy_aux  (&rdn->rdn_av,&ptr->rdn_av);
        !            25:        ptr->rdn_next = NULLRDN;
        !            26: 
        !            27:        mem_heap = last_heap;
        !            28: 
        !            29:        return (ptr);
        !            30: }
        !            31: 
        !            32: RDN  rdn_cpy (rdn)
        !            33: RDN  rdn;
        !            34: {
        !            35: RDN start;
        !            36: register RDN eptr;
        !            37: register RDN ptr,ptr2;
        !            38: 
        !            39:        if (rdn == NULLRDN) {
        !            40:                DLOG (log_dsap,LLOG_DEBUG,("rdn_cpy of null rdn"));
        !            41:                return (NULLRDN);
        !            42:        }
        !            43:        start = rdn_comp_cpy (rdn);
        !            44:        ptr2 = start;
        !            45: 
        !            46:        for (eptr=rdn->rdn_next; eptr!=NULLRDN; eptr=eptr->rdn_next) {
        !            47:                ptr = rdn_comp_cpy (eptr);
        !            48:                ptr2->rdn_next = ptr;
        !            49:                ptr2 = ptr;
        !            50:        }
        !            51:        return (start);
        !            52: }
        !            53: 

unix.superglobalmegacorp.com

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