|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.