Changeset 40ef702


Ignore:
Timestamp:
2007-07-01T13:08:47Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
2758cfe
Parents:
7bf4326
Message:

Less copy-pasting in the service discovery reply and added MUC support to
that list. And adding some const stuff in the xmltree functions.

Location:
protocols/jabber
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/iq.c

    r7bf4326 r40ef702  
    9999                else if( strcmp( s, XMLNS_DISCOVER ) == 0 )
    100100                {
     101                        const char *features[] = { XMLNS_VERSION,
     102                                                   XMLNS_TIME,
     103                                                   XMLNS_CHATSTATES,
     104                                                   XMLNS_MUC,
     105                                                   NULL };
     106                        const char **f;
     107                       
    101108                        c = xt_new_node( "identity", NULL, NULL );
    102109                        xt_add_attr( c, "category", "client" );
     
    105112                        xt_add_child( reply, c );
    106113                       
    107                         c = xt_new_node( "feature", NULL, NULL );
    108                         xt_add_attr( c, "var", XMLNS_VERSION );
    109                         xt_add_child( reply, c );
    110                        
    111                         c = xt_new_node( "feature", NULL, NULL );
    112                         xt_add_attr( c, "var", XMLNS_TIME );
    113                         xt_add_child( reply, c );
    114                        
    115                         c = xt_new_node( "feature", NULL, NULL );
    116                         xt_add_attr( c, "var", XMLNS_CHATSTATES );
    117                         xt_add_child( reply, c );
    118                        
    119                         /* Later this can be useful to announce things like
    120                            MUC support. */
     114                        for( f = features; *f; f ++ )
     115                        {
     116                                c = xt_new_node( "feature", NULL, NULL );
     117                                xt_add_attr( c, "var", *f );
     118                                xt_add_child( reply, c );
     119                        }
    121120                }
    122121                else
  • protocols/jabber/xmltree.c

    r7bf4326 r40ef702  
    442442   list, not the node itself! The reason you have to do this by hand: So
    443443   that you can also use this function as a find-next. */
    444 struct xt_node *xt_find_node( struct xt_node *node, char *name )
     444struct xt_node *xt_find_node( struct xt_node *node, const char *name )
    445445{
    446446        while( node )
     
    455455}
    456456
    457 char *xt_find_attr( struct xt_node *node, char *key )
     457char *xt_find_attr( struct xt_node *node, const char *key )
    458458{
    459459        int i;
     
    524524}
    525525
    526 void xt_add_attr( struct xt_node *node, char *key, char *value )
     526void xt_add_attr( struct xt_node *node, const char *key, const char *value )
    527527{
    528528        int i;
     
    551551}
    552552
    553 int xt_remove_attr( struct xt_node *node, char *key )
     553int xt_remove_attr( struct xt_node *node, const char *key )
    554554{
    555555        int i, last;
  • protocols/jabber/xmltree.h

    r7bf4326 r40ef702  
    8787void xt_free_node( struct xt_node *node );
    8888void xt_free( struct xt_parser *xt );
    89 struct xt_node *xt_find_node( struct xt_node *node, char *name );
    90 char *xt_find_attr( struct xt_node *node, char *key );
     89struct xt_node *xt_find_node( struct xt_node *node, const char *name );
     90char *xt_find_attr( struct xt_node *node, const char *key );
    9191
    9292struct xt_node *xt_new_node( char *name, char *text, struct xt_node *children );
    9393void xt_add_child( struct xt_node *parent, struct xt_node *child );
    94 void xt_add_attr( struct xt_node *node, char *key, char *value );
    95 int xt_remove_attr( struct xt_node *node, char *key );
     94void xt_add_attr( struct xt_node *node, const char *key, const char *value );
     95int xt_remove_attr( struct xt_node *node, const char *key );
    9696
    9797#endif
Note: See TracChangeset for help on using the changeset viewer.