Changeset ec86b22 for lib


Ignore:
Timestamp:
2010-05-15T23:28:16Z (15 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
2309152
Parents:
ca0981a (diff), 6e6b3d7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Mainline merge. (Probably mostly irrelevant for this branch, oh well.)

Location:
lib
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • lib/Makefile

    rca0981a rec86b22  
    1010
    1111# [SH] Program variables
    12 objects = arc.o base64.o $(EVENT_HANDLER) http_client.o ini.o md5.o misc.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o ftutil.o
     12objects = arc.o base64.o $(EVENT_HANDLER) ftutil.o http_client.o ini.o md5.o misc.o oauth.o proxy.o sha1.o $(SSL_CLIENT) url.o xmltree.o
    1313
    1414CFLAGS += -Wall
  • lib/misc.c

    rca0981a rec86b22  
    306306        for( i = j = 0; t[i]; i ++, j ++ )
    307307        {
    308                 /* if( t[i] <= ' ' || ((unsigned char *)t)[i] >= 128 || t[i] == '%' ) */
    309                 if( !isalnum( t[i] ) )
     308                if( !isalnum( t[i] ) && !strchr( "._-~", t[i] ) )
    310309                {
    311310                        sprintf( s + j, "%%%02X", ((unsigned char*)t)[i] );
  • lib/url.c

    rca0981a rec86b22  
    2727
    2828/* Convert an URL to a url_t structure */
    29 int url_set( url_t *url, char *set_url )
     29int url_set( url_t *url, const char *set_url )
    3030{
    3131        char s[MAX_STRING+1];
  • lib/url.h

    rca0981a rec86b22  
    4242} url_t;
    4343
    44 int url_set( url_t *url, char *set_url );
     44int url_set( url_t *url, const char *set_url );
  • lib/xmltree.c

    rca0981a rec86b22  
    449449        while( node )
    450450        {
    451                 if( g_strcasecmp( node->name, name ) == 0 )
     451                char *colon;
     452               
     453                if( g_strcasecmp( node->name, name ) == 0 ||
     454                    ( ( colon = strchr( node->name, ':' ) ) &&
     455                      g_strcasecmp( colon + 1, name ) == 0 ) )
    452456                        break;
    453457               
     
    461465{
    462466        int i;
     467        char *colon;
    463468       
    464469        if( !node )
     
    468473                if( g_strcasecmp( node->attr[i].key, key ) == 0 )
    469474                        break;
     475       
     476        /* This is an awful hack that only takes care of namespace prefixes
     477           inside a tag. Since IMHO excessive namespace usage in XMPP is
     478           massive overkill anyway (this code exists for almost four years
     479           now and never really missed it): Meh. */
     480        if( !node->attr[i].key && strcmp( key, "xmlns" ) == 0 &&
     481            ( colon = strchr( node->name, ':' ) ) )
     482        {
     483                *colon = '\0';
     484                for( i = 0; node->attr[i].key; i ++ )
     485                        if( strncmp( node->attr[i].key, "xmlns:", 6 ) == 0 &&
     486                            strcmp( node->attr[i].key + 6, node->name ) == 0 )
     487                                break;
     488                *colon = ':';
     489        }
    470490       
    471491        return node->attr[i].value;
Note: See TracChangeset for help on using the changeset viewer.