Changeset 85616c3


Ignore:
Timestamp:
2006-04-08T14:37:49Z (18 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
3edaed9
Parents:
11bcee9
Message:

Added $proto($handle) account matching to account_get().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • account.c

    r11bcee9 r85616c3  
    5353{
    5454        account_t *a, *ret = NULL;
     55        char *handle, *s;
    5556        int nr;
     57       
     58        /* This checks if the id string ends with (...) */
     59        if( ( handle = strchr( id, '(' ) ) && ( s = strchr( handle, ')' ) ) && s[1] == 0 )
     60        {
     61                struct prpl *proto;
     62               
     63                *s = *handle = 0;
     64                handle ++;
     65               
     66                if( ( proto = find_protocol( id ) ) )
     67                {
     68                        for( a = irc->accounts; a; a = a->next )
     69                                if( a->prpl == proto &&
     70                                    a->prpl->cmp_buddynames( handle, a->user ) == 0 )
     71                                        ret = a;
     72                }
     73               
     74                /* Restore the string. */
     75                handle --;
     76                *handle = '(';
     77                *s = ')';
     78               
     79                if( ret )
     80                        return ret;
     81        }
    5682       
    5783        if( sscanf( id, "%d", &nr ) == 1 && nr < 1000 )
Note: See TracChangeset for help on using the changeset viewer.