Changeset 1261


Ignore:
Timestamp:
Dec 19, 2006, 3:22:46 AM (15 years ago)
Author:
livings124
Message:

better identification of clients with weird formats that might conflict with others

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/clients.c

    r1260 r1261  
    4141{
    4242    char * ret = NULL;
    43 
     43   
     44    /* Azureus style */
    4445    if( id[0] == '-' && id[7] == '-' )
    4546    {
     
    108109                      charToInt( id[5] ) * 10 + charToInt( id[6] ) );
    109110        }
    110     }
    111     else if( !memcmp( &id[4], "----", 4 ) || !memcmp( &id[4], "--00", 4 ) )
     111       
     112        if( ret )
     113        {
     114            return ret;
     115        }
     116    }
     117   
     118    /* Different formatting per client */
     119    if( !memcmp( &id[4], "----", 4 ) || !memcmp( &id[4], "--00", 4 ) )
    112120    {
    113121        if( id[0] == 'T' )
     
    121129                        charToInt( id[2] ), charToInt( id[3] ) );
    122130        }
    123     }
    124     else if( id[0] == 'M' && id[2] == '-' && id[7] == '-' )
     131       
     132        if( ret )
     133        {
     134            return ret;
     135        }
     136    }
     137    if( id[0] == 'M' && id[2] == '-' && id[7] == '-' )
    125138    {
    126139        if( id[4] == '-' && id[6] == '-' )
     
    132145            asprintf( &ret, "BitTorrent %c.%c%c.%c", id[1], id[3], id[4], id[6] );
    133146        }
    134     }
    135     else if( id[0] == 'Q' && id[2] == '-' && id[7] == '-' )
     147       
     148        if( ret )
     149        {
     150            return ret;
     151        }
     152    }
     153    if( id[0] == 'Q' && id[2] == '-' && id[7] == '-' )
    136154    {
    137155        if( id[4] == '-' && id[6] == '-' )
     
    143161            asprintf( &ret, "Queen Bee %c.%c%c.%c", id[1], id[3], id[4], id[6] );
    144162        }
    145     }
    146     else if( !memcmp( id, "exbc", 4 ) )
     163       
     164        if( ret )
     165        {
     166            return ret;
     167        }
     168    }
     169   
     170    /* All versions of each client are formatted the same */
     171    if( !memcmp( id, "exbc", 4 ) )
    147172    {
    148173        asprintf( &ret, "%s %d.%02d",
     
    173198    }
    174199
     200    /* No match */
    175201    if( !ret )
    176202    {
Note: See TracChangeset for help on using the changeset viewer.