DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T e

⟦1dc6fb9b1⟧ TextFile

    Length: 2313 (0x909)
    Types: TextFile
    Names: »entryinfo.c«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« 
        └─⟦de7628f85⟧ 
            └─⟦this⟧ »isode-6.0/dsap/common/entryinfo.c« 

TextFile

/* entryinfo.c - Entry Information routines */

#ifndef lint
static char *rcsid = "$Header: /f/osi/dsap/common/RCS/entryinfo.c,v 7.0 89/11/23 21:42:11 mrose Rel $";
#endif

/*
 * $Header: /f/osi/dsap/common/RCS/entryinfo.c,v 7.0 89/11/23 21:42:11 mrose Rel $
 *
 *
 * $Log:	entryinfo.c,v $
 * Revision 7.0  89/11/23  21:42:11  mrose
 * Release 6.0
 * 
 */

/*
 *                                NOTICE
 *
 *    Acquisition, use, and distribution of this module and related
 *    materials are subject to the restrictions of a license agreement.
 *    Consult the Preface in the User's Manual for the full terms of
 *    this agreement.
 *
 */


/* LINTLIBRARY */

#include "quipu/util.h"
#include "quipu/commonarg.h"

entryinfo_comp_free (a,state)
register EntryInfo *a;
int state;
{
register EntryInfo * einfo;
register Attr_Sequence as;

	if (a == NULLENTRYINFO)
		return;

	dn_free (a->ent_dn);
	if (state == 1)
		for ( as=a->ent_attr; as!= NULLATTR; as=as->attr_link)
			free ((char *) as);
	else
		as_free (a->ent_attr);

	for (einfo=a->ent_next; einfo!=NULLENTRYINFO; einfo=einfo->ent_next) {
		dn_free (einfo->ent_dn);
		if (state == 1)
			for ( as=einfo->ent_attr; as!= NULLATTR; as=as->attr_link)
				free ((char *) as);
		else
			as_free (einfo->ent_attr);
		free ((char *) einfo);
	}
}

entryinfo_free (a,state)
register EntryInfo * a;
register int state;
{
	if (a == NULLENTRYINFO)
		return;
	entryinfo_comp_free (a,state);
	free ((char *) a);
}

entryinfo_cpy (a,b)
register EntryInfo *a;
register EntryInfo *b;
{
	a->ent_dn        = dn_cpy (b->ent_dn);
	a->ent_attr      = as_cpy (b->ent_attr);
	a->ent_iscopy    = b->ent_iscopy;
	a->ent_age       = b->ent_age;
	a->ent_next      = a->ent_next;
}

entryinfo_append (a,b)
register EntryInfo *a,*b;
{
register EntryInfo *ptr;

	if ( a  == NULLENTRYINFO )
		return;

	for (ptr=a; ptr->ent_next != NULLENTRYINFO; ptr=ptr->ent_next)
		;  /* noop */

	ptr->ent_next = b;
}

entryinfo_print (ps,entryinfo,format)
PS  ps;
EntryInfo *entryinfo;
int format;
{
register EntryInfo *einfo;

	for (einfo= entryinfo; einfo!=NULLENTRYINFO; einfo=einfo->ent_next) {
		(void) dn_decode (einfo->ent_dn);
		dn_print(ps,einfo->ent_dn,EDBOUT);
		ps_print (ps,"\n");

		(void) as_decode (einfo->ent_attr);
		as_print (ps,einfo->ent_attr,format);
		ps_print (ps,"\n");
	}
}