12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*====================================================================*
- *
- * NODE * xmlfree (NODE * node);
- *
- * node.h
- *
- * recursively free child nodes; minimize recursion by following
- * node->after at each level;
- *
- * the caller must free the root node; this allows that the root
- * to be statically declared, if desired;
- *
- * Motley Tools by Charles Maier <cmaier@cmassoc.net>;
- * Copyright (c) 2001-2006 by Charles Maier Associates;
- * Licensed under the Internet Software Consortium License;
- *
- *--------------------------------------------------------------------*/
- #ifndef XMLFREE_SOURCE
- #define XMLFREE_SOURCE
- #include <stdlib.h>
- #include <memory.h>
- #include "../nodes/node.h"
- void xmlfree (NODE * node)
- {
- if (node)
- {
- node = node->below;
- }
- while (node)
- {
- NODE * temp = node;
- if (node->above)
- {
- node->above->below = (NODE *) (0);
- }
- if (node->prior)
- {
- node->prior->after = (NODE *) (0);
- }
- xmlfree (node);
- node = node->after;
- free (temp);
- }
- return;
- }
- #endif
|