Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/xmltree.c

    r4452e69 rdaae10f  
    141141/* Feed the parser, don't execute any handler. Returns -1 on errors, 0 on
    142142   end-of-stream and 1 otherwise. */
    143 int xt_feed( struct xt_parser *xt, const char *text, int text_len )
     143int xt_feed( struct xt_parser *xt, char *text, int text_len )
    144144{
    145145        if( !g_markup_parse_context_parse( xt->parser, text, text_len, &xt->gerr ) )
     
    174174        if( node->flags & XT_COMPLETE && !( node->flags & XT_SEEN ) )
    175175        {
    176                 if( xt->handlers ) for( i = 0; xt->handlers[i].func; i ++ )
     176                for( i = 0; xt->handlers[i].func; i ++ )
    177177                {
    178178                        /* This one is fun! \o/ */
    179179                       
    180                             /* If handler.name == NULL it means it should always match. */
     180                                                /* If handler.name == NULL it means it should always match. */
    181181                        if( ( xt->handlers[i].name == NULL ||
    182                               /* If it's not, compare. There should always be a name. */
     182                                                /* If it's not, compare. There should always be a name. */
    183183                              g_strcasecmp( xt->handlers[i].name, node->name ) == 0 ) &&
    184                             /* If handler.parent == NULL, it's a match. */
     184                                                /* If handler.parent == NULL, it's a match. */
    185185                            ( xt->handlers[i].parent == NULL ||
    186                               /* If there's a parent node, see if the name matches. */
     186                                                /* If there's a parent node, see if the name matches. */
    187187                              ( node->parent ? g_strcasecmp( xt->handlers[i].parent, node->parent->name ) == 0 :
    188                               /* If there's no parent, the handler should mention <root> as a parent. */
    189                                                strcmp( xt->handlers[i].parent, "<root>" ) == 0 ) ) )
     188                                                /* If there's no parent, the handler should mention <root> as a parent. */
     189                                               g_strcasecmp( xt->handlers[i].parent, "<root>" ) == 0 ) ) )
    190190                        {
    191191                                st = xt->handlers[i].func( node, xt->data );
     
    260260}
    261261
    262 struct xt_node *xt_from_string( const char *in )
    263 {
    264         struct xt_parser *parser;
    265         struct xt_node *ret;
    266        
    267         parser = xt_new( NULL, NULL );
    268         xt_feed( parser, in, strlen( in ) );
    269         ret = parser->root;
    270         parser->root = NULL;
    271         xt_free( parser );
    272        
    273         return ret;
    274 }
    275 
    276262static void xt_to_string_real( struct xt_node *node, GString *str )
    277263{
     
    564550}
    565551
    566 /* Same, but at the beginning. */
    567 void xt_insert_child( struct xt_node *parent, struct xt_node *child )
    568 {
    569         struct xt_node *node, *last;
    570        
    571         for( node = child; node; node = node->next )
    572         {
    573                 if( node->parent != NULL )
    574                 {
    575                         /* ERROR CONDITION: They seem to have a parent already??? */
    576                 }
    577                
    578                 node->parent = parent;
    579                 last = node;
    580         }
    581        
    582         last->next = parent->children;
    583         parent->children = child;
    584 }
    585 
    586552void xt_add_attr( struct xt_node *node, const char *key, const char *value )
    587553{
Note: See TracChangeset for help on using the changeset viewer.