Ejemplo n.º 1
0
/* ---------------------------------------------------------------------------
 * frees memory used by an element
 */
void
FreeElementMemory (ElementType *element)
{
  if (element == NULL)
    return;

  ELEMENTNAME_LOOP (element);
  {
    free (textstring);
  }
  END_LOOP;
  PIN_LOOP (element);
  {
    free (pin->Name);
    free (pin->Number);
  }
  END_LOOP;
  PAD_LOOP (element);
  {
    free (pad->Name);
    free (pad->Number);
  }
  END_LOOP;

  g_list_free_full (element->Pin,  (GDestroyNotify)FreePin);
  g_list_free_full (element->Pad,  (GDestroyNotify)FreePad);
  g_list_free_full (element->Line, (GDestroyNotify)FreeLine);
  g_list_free_full (element->Arc,  (GDestroyNotify)FreeArc);

  FreeAttributeListMemory (&element->Attributes);
  memset (element, 0, sizeof (ElementType));
}
Ejemplo n.º 2
0
/* ---------------------------------------------------------------------------
 * frees memory used by an element
 */
void
FreeElementMemory (ElementTypePtr Element)
{
  if (Element)
    {
      ELEMENTNAME_LOOP (Element);
      {
	MYFREE (textstring);
      }
      END_LOOP;
      PIN_LOOP (Element);
      {
	MYFREE (pin->Name);
	MYFREE (pin->Number);
      }
      END_LOOP;
      PAD_LOOP (Element);
      {
	MYFREE (pad->Name);
	MYFREE (pad->Number);
      }
      END_LOOP;
      MYFREE (Element->Pin);
      MYFREE (Element->Pad);
      MYFREE (Element->Line);
      MYFREE (Element->Arc);
      FreeAttributeListMemory (&Element->Attributes);
      memset (Element, 0, sizeof (ElementType));
    }
}