summaryrefslogtreecommitdiff
path: root/mxml/mxml-attr.c
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2006-06-23 00:24:12 +0000
committerRussell Bryant <russell@russellbryant.com>2006-06-23 00:24:12 +0000
commit463a3eb45ba189058fb1c88d5c7422c8fc9e51df (patch)
tree87401d76ac3b457a36fc0ce86a5bfa36a8508cfa /mxml/mxml-attr.c
parent7421acaa7e5a719a6f5c2fb8ed2b1d008338c704 (diff)
delete the local copy of mxml and use svn:externals to get it from its own
repo since it is going to be used it more than one place now git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'mxml/mxml-attr.c')
-rw-r--r--mxml/mxml-attr.c181
1 files changed, 0 insertions, 181 deletions
diff --git a/mxml/mxml-attr.c b/mxml/mxml-attr.c
deleted file mode 100644
index bf643cb6c..000000000
--- a/mxml/mxml-attr.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * "$Id$"
- *
- * Attribute support code for Mini-XML, a small XML-like file parsing library.
- *
- * Copyright 2003-2005 by Michael Sweet.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Contents:
- *
- * mxmlElementGetAttr() - Get an attribute.
- * mxmlElementSetAttr() - Set an attribute.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "config.h"
-#include "mxml.h"
-
-
-/*
- * 'mxmlElementGetAttr()' - Get an attribute.
- *
- * This function returns NULL if the node is not an element or the
- * named attribute does not exist.
- */
-
-const char * /* O - Attribute value or NULL */
-mxmlElementGetAttr(mxml_node_t *node, /* I - Element node */
- const char *name) /* I - Name of attribute */
-{
- int i; /* Looping var */
- mxml_attr_t *attr; /* Cirrent attribute */
-
-
-#ifdef DEBUG
- fprintf(stderr, "mxmlElementGetAttr(node=%p, name=\"%s\")\n",
- node, name ? name : "(null)");
-#endif /* DEBUG */
-
- /*
- * Range check input...
- */
-
- if (!node || node->type != MXML_ELEMENT || !name)
- return (NULL);
-
- /*
- * Look for the attribute...
- */
-
- for (i = node->value.element.num_attrs, attr = node->value.element.attrs;
- i > 0;
- i --, attr ++)
- if (!strcmp(attr->name, name))
- return (attr->value);
-
- /*
- * Didn't find attribute, so return NULL...
- */
-
- return (NULL);
-}
-
-
-/*
- * 'mxmlElementSetAttr()' - Set an attribute.
- *
- * If the named attribute already exists, the value of the attribute
- * is replaced by the new string value. The string value is copied
- * into the element node. This function does nothing if the node is
- * not an element.
- */
-
-void
-mxmlElementSetAttr(mxml_node_t *node, /* I - Element node */
- const char *name, /* I - Name of attribute */
- const char *value) /* I - Attribute value */
-{
- int i; /* Looping var */
- mxml_attr_t *attr; /* New attribute */
-
-
-#ifdef DEBUG
- fprintf(stderr, "mxmlElementSetAttr(node=%p, name=\"%s\", value=\"%s\")\n",
- node, name ? name : "(null)", value ? value : "(null)");
-#endif /* DEBUG */
-
- /*
- * Range check input...
- */
-
- if (!node || node->type != MXML_ELEMENT || !name)
- return;
-
- /*
- * Look for the attribute...
- */
-
- for (i = node->value.element.num_attrs, attr = node->value.element.attrs;
- i > 0;
- i --, attr ++)
- if (!strcmp(attr->name, name))
- {
- /*
- * Replace the attribute value and return...
- */
-
- if (attr->value)
- free(attr->value);
-
- if (value)
- {
- if ((attr->value = strdup(value)) == NULL)
- mxml_error("Unable to allocate memory for attribute '%s' in element %s!",
- name, node->value.element.name);
- }
- else
- attr->value = NULL;
-
- return;
- }
-
- /*
- * Attribute not found, so add a new one...
- */
-
- if (node->value.element.num_attrs == 0)
- attr = malloc(sizeof(mxml_attr_t));
- else
- attr = realloc(node->value.element.attrs,
- (node->value.element.num_attrs + 1) * sizeof(mxml_attr_t));
-
- if (!attr)
- {
- mxml_error("Unable to allocate memory for attribute '%s' in element %s!",
- name, node->value.element.name);
- return;
- }
-
- node->value.element.attrs = attr;
- attr += node->value.element.num_attrs;
-
- attr->name = strdup(name);
- if (value)
- attr->value = strdup(value);
- else
- attr->value = NULL;
-
- if (!attr->name || (!attr->value && value))
- {
- if (attr->name)
- free(attr->name);
-
- if (attr->value)
- free(attr->value);
-
- mxml_error("Unable to allocate memory for attribute '%s' in element %s!",
- name, node->value.element.name);
-
- return;
- }
-
- node->value.element.num_attrs ++;
-}
-
-
-/*
- * End of "$Id$".
- */