char * end;
};
-XTag * xtag_free (XTag * xtag);
+void xtag_free (XTag * xtag);
XTag * xtag_new_parse (const char * s, int n);
char * xtag_get_name (XTag * xtag);
char * xtag_get_pcdata (XTag * xtag);
-char * xtag_get_attribute (XTag * xtag, char * attribute);
-XTag * xtag_first_child (XTag * xtag, char * name);
+char * xtag_get_attribute (XTag * xtag, const char* attribute);
+XTag * xtag_first_child (XTag * xtag, const char * name);
XTag * xtag_next_child (XTag * xtag, char * name);
int xtag_snprint (char * buf, int n, XTag * xtag);
ret[xi] = '\0';
parser->start = &s[xi];
- if (!xtag_assert_and_pass (parser, quote)) return NULL;
+ if (!xtag_assert_and_pass (parser, quote))
+ {
+ free( ret );
+ return NULL;
+ }
return ret;
}
return tag;
}
-XTag *
-xtag_free (XTag * xtag)
+void xtag_free (XTag * xtag)
{
XList * l;
XAttribute * attr;
XTag * child;
- if (xtag == NULL) return NULL;
+ if( !xtag )
+ return;
free( xtag->name );
free( xtag->pcdata );
- for (l = xtag->attributes; l; l = l->next) {
- if ((attr = (XAttribute *)l->data) != NULL) {
+ for( l = xtag->attributes; l; l = l->next) {
+ if((attr = (XAttribute *)l->data) != NULL) {
free( attr->name );
free( attr->value );
free( attr );
for (l = xtag->children; l; l = l->next) {
child = (XTag *)l->data;
- xtag_free (child);
+ xtag_free( child );
}
xlist_free (xtag->children);
- free (xtag);
-
- return NULL;
+ free( xtag );
}
XTag *
return NULL;
}
-char *
-xtag_get_attribute (XTag * xtag, char * attribute)
+char* xtag_get_attribute (XTag * xtag, const char * attribute)
{
- XList * l;
- XAttribute * attr;
-
- if (xtag == NULL) return NULL;
-
- for (l = xtag->attributes; l; l = l->next) {
- if ((attr = (XAttribute *)l->data) != NULL) {
- if (attr->name && attribute && !strcmp (attr->name, attribute))
- return attr->value;
+ XList * l;
+ XAttribute * attr;
+
+ if( !xtag )
+ return NULL;
+
+ for( l = xtag->attributes; l; l = l->next )
+ {
+ if( ( attr = (XAttribute *)l->data ) != NULL )
+ {
+ if( attr->name && attribute && !strcmp( attr->name, attribute ) )
+ return attr->value;
+ }
}
- }
-
- return NULL;
+ return NULL;
}
-XTag *
-xtag_first_child (XTag * xtag, char * name)
+XTag* xtag_first_child (XTag * xtag, const char * name)
{
- XList * l;
- XTag * child;
+ XList * l;
+ XTag * child;
- if (xtag == NULL) return NULL;
+ if( !xtag )
+ return NULL;
- if ((l = xtag->children) == NULL) return NULL;
+ if( ( l = xtag->children ) == NULL )
+ return NULL;
- if (name == NULL) {
- xtag->current_child = l;
- return (XTag *)l->data;
- }
+ if( !name )
+ {
+ xtag->current_child = l;
+ return (XTag *)l->data;
+ }
- for (; l; l = l->next) {
- child = (XTag *)l->data;
+ for( ; l; l = l->next )
+ {
+ child = (XTag *)l->data;
- if (child->name && name && !strcmp(child->name, name)) {
- xtag->current_child = l;
- return child;
+ if( child->name && name && !strcmp( child->name, name ) )
+ {
+ xtag->current_child = l;
+ return child;
+ }
}
- }
- xtag->current_child = NULL;
-
- return NULL;
+ xtag->current_child = NULL;
+ return NULL;
}
XTag *