xmlnode.c 960 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*====================================================================*
  2. *
  3. * NODE * xmlnode (NODE * root);
  4. *
  5. * node.h
  6. *
  7. * create an empty node and attach it as the last child below the
  8. * root node;
  9. *
  10. * Motley Tools by Charles Maier;
  11. * Copyright (c) 2001-2006 by Charles Maier Associates;
  12. * Licensed under the Internet Software Consortium License;
  13. *
  14. *--------------------------------------------------------------------*/
  15. #ifndef XMLNODE_SOURCE
  16. #define XMLNODE_SOURCE
  17. #include <memory.h>
  18. #include "../nodes/node.h"
  19. #include "../tools/memory.h"
  20. NODE * xmlnode (NODE * root)
  21. {
  22. NODE * node = NEW (NODE);
  23. memset (node, 0, sizeof (NODE));
  24. if (!root)
  25. {
  26. return (node);
  27. }
  28. if (root->below)
  29. {
  30. NODE * temp = root->below;
  31. while (temp->after)
  32. {
  33. temp = temp->after;
  34. }
  35. node->above = root;
  36. temp->after = node;
  37. node->prior = temp;
  38. return (node);
  39. }
  40. root->below = node;
  41. node->above = root;
  42. return (node);
  43. }
  44. #endif