Changes in / [cc9079e:f56c491]


Ignore:
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    rcc9079e rf56c491  
    1212*.clw
    1313debian
    14 tags
  • protocols/jabber/jabber.c

    rcc9079e rf56c491  
    24362436        ret->alias_buddy = jabber_roster_update;
    24372437        ret->group_buddy = jabber_group_change;
    2438         ret->cmp_buddynames = g_strcasecmp;
    24392438
    24402439        register_protocol (ret);
  • protocols/msn/msn.c

    rcc9079e rf56c491  
    397397        ret->rem_deny = msn_rem_deny;
    398398        ret->send_typing = msn_send_typing;
    399         ret->cmp_buddynames = g_strcasecmp;
    400399
    401400        register_protocol(ret);
  • protocols/nogaim.c

    rcc9079e rf56c491  
    224224        return( NULL );
    225225}
     226
     227/* Compare two handles for a specific protocol. For most protocols,
     228   g_strcasecmp is okay, but for AIM, for example, it's not. This really
     229   should be a compare function inside the PRPL module, but I do it this
     230   way for now because I don't want to touch the Gaim code too much since
     231   it's not going to be here for too long anymore. */
     232int handle_cmp( char *a, char *b, struct prpl *protocol )
     233{
     234        if( !strcmp(protocol->name, "oscar") )
     235        {
     236                /* AIM, being teh evil, thinks it's cool that users can put
     237                   random spaces in screennames. But "A B" and "AB" are
     238                   equal. Hrmm, okay. */
     239                while( 1 )
     240                {
     241                        while( *a == ' ' ) a ++;
     242                        while( *b == ' ' ) b ++;
     243                       
     244                        if( *a && *b )
     245                        {
     246                                if( tolower( *a ) != tolower( *b ) )
     247                                        return( 1 );
     248                        }
     249                        else if( *a || *b )
     250                                return( 1 );
     251                        else
     252                                return( 0 );
     253                       
     254                        a ++;
     255                        b ++;
     256                }
     257        }
     258        else
     259        {
     260                return( g_strcasecmp( a, b ) );
     261        }
     262}
     263
    226264
    227265/* multi.c */
     
    859897       
    860898        /* It might be yourself! */
    861         if( b->gc->prpl->cmp_buddynames( handle, b->gc->user->username ) == 0 )
     899        if( handle_cmp ( handle, b->gc->user->username, b->gc->prpl ) == 0 )
    862900        {
    863901                u = user_find( b->gc->irc, b->gc->irc->nick );
  • protocols/nogaim.h

    rcc9079e rf56c491  
    242242
    243243        char *(* get_status_string) (struct gaim_connection *gc, int stat);
    244 
    245         int (* cmp_buddynames) (const char *who1, const char *who2);
    246244};
    247245
     
    268266int proto_away( struct gaim_connection *gc, char *away );
    269267char *set_eval_away_devoice( irc_t *irc, set_t *set, char *value );
     268int handle_cmp( char *a, char *b, struct prpl *protocol );
    270269
    271270gboolean auto_reconnect( gpointer data );
  • protocols/oscar/auth.c

    rcc9079e rf56c491  
    352352{
    353353        guint8 encoding_table[] = {
    354         /* v2.1 table, also works for ICQ */
     354#if 0 /* old v1 table */
     355                0xf3, 0xb3, 0x6c, 0x99,
     356                0x95, 0x3f, 0xac, 0xb6,
     357                0xc5, 0xfa, 0x6b, 0x63,
     358                0x69, 0x6c, 0xc3, 0x9f
     359#else /* v2.1 table, also works for ICQ */
    355360                0xf3, 0x26, 0x81, 0xc4,
    356361                0x39, 0x86, 0xdb, 0x92,
    357362                0x71, 0xa3, 0xb9, 0xe6,
    358363                0x53, 0x7a, 0x95, 0x7c
     364#endif
    359365        };
    360366        int i;
  • protocols/oscar/oscar.c

    rcc9079e rf56c491  
    12081208        return 1;
    12091209}
    1210 
     1210/*
     1211int handle_cmp_aim(const char * a, const char * b) {
     1212        return handle_cmp(a, b, PROTO_TOC);
     1213}
     1214*/
    12111215static int gaim_parse_incoming_im(aim_session_t *sess, aim_frame_t *fr, ...) {
    12121216        int channel, ret = 0;
     
    24802484        ret->set_permit_deny = oscar_set_permit_deny;
    24812485        ret->keepalive = oscar_keepalive;
    2482         ret->cmp_buddynames = aim_sncmp;
    24832486        ret->get_status_string = oscar_get_status_string;
    24842487
  • protocols/oscar/oscar_util.c

    rcc9079e rf56c491  
     1/*
     2 *
     3 *
     4 *
     5 */
     6
    17#include <aim.h>
    28#include <ctype.h>
  • protocols/oscar/tlv.c

    rcc9079e rf56c491  
    11#include <aim.h>
    22
     3static aim_tlv_t *createtlv(void)
     4{
     5        return g_new0(aim_tlv_t, 1);
     6}
     7
    38static void freetlv(aim_tlv_t **oldtlv)
    49{
     10
    511        if (!oldtlv || !*oldtlv)
    612                return;
     
    915        g_free(*oldtlv);
    1016        *oldtlv = NULL;
     17
     18        return;
    1119}
    1220
     
    3846                length = aimbs_get16(bs);
    3947
    40                 cur = g_new0(aim_tlvlist_t, 1);
    41 
    42                 cur->tlv = g_new0(aim_tlv_t, 1);
    43                 cur->tlv->type = type;
    44                 if ((cur->tlv->length = length))
    45                         cur->tlv->value = aimbs_getraw(bs, length);     
    46 
    47                 cur->next = list;
    48                 list = cur;
     48#if 0 /* temporarily disabled until I know if they're still doing it or not */
     49                /*
     50                 * Okay, so now AOL has decided that any TLV of
     51                 * type 0x0013 can only be two bytes, despite
     52                 * what the actual given length is.  So here
     53                 * we dump any invalid TLVs of that sort.  Hopefully
     54                 * theres no special cases to this special case.
     55                 *   - mid (30jun2000)
     56                 */
     57                if ((type == 0x0013) && (length != 0x0002))
     58                        length = 0x0002;
     59#else
     60                if (0)
     61                        ;
     62#endif
     63                else {
     64
     65                        cur = g_new0(aim_tlvlist_t, 1);
     66
     67                        cur->tlv = createtlv();
     68                        cur->tlv->type = type;
     69                        if ((cur->tlv->length = length))
     70                               cur->tlv->value = aimbs_getraw(bs, length);     
     71
     72                        cur->next = list;
     73                        list = cur;
     74                }
    4975        }
    5076
     
    147173                return 0;
    148174
    149         if (!(newtlv->tlv = g_new0(aim_tlv_t, 1))) {
     175        if (!(newtlv->tlv = createtlv())) {
    150176                g_free(newtlv);
    151177                return 0;
  • protocols/yahoo/yahoo.c

    rcc9079e rf56c491  
    411411        ret->chat_leave = byahoo_chat_leave;
    412412        ret->chat_open = byahoo_chat_open;
    413         ret->cmp_buddynames = g_strcasecmp;
    414413       
    415414        register_protocol(ret);
  • user.c

    rcc9079e rf56c491  
    146146        while( u )
    147147        {
    148                 if( u->gc == gc && u->handle && gc->prpl->cmp_buddynames ( u->handle, handle ) == 0 )
     148                if( u->gc == gc && u->handle && handle_cmp( u->handle, handle, gc->prpl) == 0 )
    149149                        break;
    150150                u = u->next;
Note: See TracChangeset for help on using the changeset viewer.