|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 903 (0x387)
Types: TextFile
Names: »rdn_cpy.c«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/dsap/common/rdn_cpy.c«
#include "quipu/util.h"
#include "quipu/name.h"
#include "quipu/malloc.h"
extern LLog * log_dsap;
RDN rdn_comp_cpy (rdn)
RDN rdn;
{
register RDN ptr;
unsigned last_heap;
if (rdn==NULLRDN) {
DLOG (log_dsap,LLOG_DEBUG,("copy of null rdn"));
return (NULLRDN);
}
ptr = rdn_comp_alloc();
AttrT_cpy_aux (&rdn->rdn_at,&ptr->rdn_at);
if ((last_heap = mem_heap) == 1)
mem_heap = 2 + attr_index;
AttrV_cpy_aux (&rdn->rdn_av,&ptr->rdn_av);
ptr->rdn_next = NULLRDN;
mem_heap = last_heap;
return (ptr);
}
RDN rdn_cpy (rdn)
RDN rdn;
{
RDN start;
register RDN eptr;
register RDN ptr,ptr2;
if (rdn == NULLRDN) {
DLOG (log_dsap,LLOG_DEBUG,("rdn_cpy of null rdn"));
return (NULLRDN);
}
start = rdn_comp_cpy (rdn);
ptr2 = start;
for (eptr=rdn->rdn_next; eptr!=NULLRDN; eptr=eptr->rdn_next) {
ptr = rdn_comp_cpy (eptr);
ptr2->rdn_next = ptr;
ptr2 = ptr;
}
return (start);
}