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 u

⟦58fd86287⟧ TextFile

    Length: 1632 (0x660)
    Types: TextFile
    Names: »ut_free.c«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« 
        └─⟦e5a54fb17⟧ 
            └─⟦this⟧ »pp-5.0/Lib/pp/ut_free.c« 

TextFile

/* ut_free.c: Freeing utilities */

# ifndef lint
static char Rcsid[] = "@(#)$Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_free.c,v 5.0 90/09/20 16:12:47 pp Exp Locker: pp $";
# endif

/*
 * $Header: /cs/research/pp/hubris/pp-beta/Lib/pp/RCS/ut_free.c,v 5.0 90/09/20 16:12:47 pp Exp Locker: pp $
 *
 * $Log:	ut_free.c,v $
 * Revision 5.0  90/09/20  16:12:47  pp
 * rcsforce : 5.0 public release
 * 
 */



#include        "util.h"
#include	"mta.h"


/* ---------------------  Begin  Routines  -------------------------------- */

void encodedinfo_free (ep)  /* EncodedInfoTypes */
EncodedIT       *ep;
{
	if (ep == (EncodedIT *)NULL)
		return;

	if (ep->eit_types)
		list_bpt_free (ep->eit_types);
	bzero ((char *)ep, sizeof *ep);
}

void DomSupInfo_free (dp)  /* DomainSuppliedInfo */
DomSupInfo      *dp;
{
	if (dp == NULL)
		return;

	if (dp->dsi_time)
		free ((char *)dp->dsi_time);

	if (dp->dsi_deferred)
		free ((char *)dp->dsi_deferred);

	encodedinfo_free  (&dp -> dsi_converted);
	GlobalDomId_free  (&dp->dsi_attempted_md);

	if (dp -> dsi_attempted_mta)
		free (dp -> dsi_attempted_mta);

	bzero ((char *)dp, sizeof *dp);
}

void redirection_free (rp)
Redirection *rp;
{
	Redirection *rq;

	for (; rp; rp = rq) {
		rq = rp -> rd_next;
		if (rp -> rd_addr)
			free (rp -> rd_addr);
		if (rp -> rd_dn)
			free (rp -> rd_dn);
		free ((char *)rp);
	}
}

void extensions_free (ext)
Extension	*ext;
{
	if (ext == NULL)
		return;
	if (ext -> ext_next)
		extensions_free (ext -> ext_next);
	if (ext -> ext_oid)
		oid_free (ext -> ext_oid);
	if (ext -> ext_value)
		qb_free (ext -> ext_value);
	free ((char *) ext);
}