|
|
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.