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 f

⟦2764e9d55⟧ TextFile

    Length: 2489 (0x9b9)
    Types: TextFile
    Names: »free.c«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z« 
        └─⟦d846658bd⟧ 
            └─⟦this⟧ »osimis/smap/free.c« 

TextFile

/*
 * Copyright (c) 1988 University College London
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by the Department of Computer Science, University College London.
 * The name of the University may not be used to
 * endorse or promote products derived from this software without
 * specific prior written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

/* routines to free allocated memory */

/*
 * By George Pavlou, October 1988
 */

#include <stdio.h>
#include <isode/rosap.h>
#include "msap.h"
#include "microscope.h"


free_attrpairs (attrs)
AttrPairs  *attrs;
{
    AttrPairs  *next = attrs;

    for (; next != (AttrPairs *) NULL; ) {
	next = (attrs = next) -> Next;
	cfree (attrs);
	attrs = (AttrPairs *) NULL;
    }
}


free_mobjD (mobj)
ManagedObjectS  *mobj;
{
    switch (mobj->type) {
	case M_SYSTEM:
	    if (mobj->msys != (ManagedSystemS *) NULL) {
		cfree(mobj->msys);
		mobj->msys = (ManagedSystemS *) NULL;
	    }
	    break;

	case T_SUBSYS:
	    if (mobj->tsubsys != (T_LayerSubsystemS *) NULL) {
		cfree(mobj->tsubsys);
		mobj->tsubsys = (T_LayerSubsystemS *) NULL;
	    }
	    break;

	case T_ENTITY:
	    if (mobj->tent != (T_LayerEntityS *) NULL) {
		cfree(mobj->tent);
		mobj->tent = (T_LayerEntityS *) NULL;
	    }
	    break;

	case T_EINV:
	    if (mobj->einv != (T_EntityInvocationS *) NULL) {
		cfree(mobj->einv);
		mobj->einv = (T_EntityInvocationS *) NULL;
	    }
	    break;

	case T_CEPT:
	    if (mobj->cept != (T_ConnectionEndpointS *) NULL) {
		cfree(mobj->cept);
		mobj->cept = (T_ConnectionEndpointS *) NULL;
	    }
	    break;

	case C_THLD:
	    if (mobj->cthld != (C_ThresholdS *) NULL) {
		cfree(mobj->cthld);
		mobj->cthld = (C_ThresholdS *) NULL;
	    }
	    break;

	case G_THLD:
	    if (mobj->gthld != (G_ThresholdS *) NULL) {
		cfree(mobj->gthld);
		mobj->gthld = (G_ThresholdS *) NULL;
	    }
	    break;

	case RPCTL:
	    if (mobj->rpctl != (ReportControlS *) NULL) {
		cfree(mobj->rpctl);
		mobj->rpctl = (ReportControlS *) NULL;
	    }
	    break;
    }
}