Ignore:
Timestamp:
Oct 20, 2007, 3:17:36 PM (15 years ago)
Author:
charles
Message:

dead code removal.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/metainfo.c

    r3430 r3473  
    5656                       benc_val_t * files, benc_val_t * length );
    5757
     58/***
     59****
     60***/
     61
     62#define WANTBYTES( want, got ) \
     63    if( (want) > (got) ) { return; } else { (got) -= (want); }
     64static void
     65strlcat_utf8( void * dest, const void * src, size_t len, char skip )
     66{
     67    char       * s      = dest;
     68    const char * append = src;
     69    const char * p;
     70
     71    /* don't overwrite the nul at the end */
     72    len--;
     73
     74    /* Go to the end of the destination string */
     75    while( s[0] )
     76    {
     77        s++;
     78        len--;
     79    }
     80
     81    /* Now start appending, converting on the fly if necessary */
     82    for( p = append; p[0]; )
     83    {
     84        /* skip over the requested character */
     85        if( skip == p[0] )
     86        {
     87            p++;
     88            continue;
     89        }
     90
     91        if( !( p[0] & 0x80 ) )
     92        {
     93            /* ASCII character */
     94            WANTBYTES( 1, len );
     95            *(s++) = *(p++);
     96            continue;
     97        }
     98
     99        if( ( p[0] & 0xE0 ) == 0xC0 && ( p[1] & 0xC0 ) == 0x80 )
     100        {
     101            /* 2-bytes UTF-8 character */
     102            WANTBYTES( 2, len );
     103            *(s++) = *(p++); *(s++) = *(p++);
     104            continue;
     105        }
     106
     107        if( ( p[0] & 0xF0 ) == 0xE0 && ( p[1] & 0xC0 ) == 0x80 &&
     108            ( p[2] & 0xC0 ) == 0x80 )
     109        {
     110            /* 3-bytes UTF-8 character */
     111            WANTBYTES( 3, len );
     112            *(s++) = *(p++); *(s++) = *(p++);
     113            *(s++) = *(p++);
     114            continue;
     115        }
     116
     117        if( ( p[0] & 0xF8 ) == 0xF0 && ( p[1] & 0xC0 ) == 0x80 &&
     118            ( p[2] & 0xC0 ) == 0x80 && ( p[3] & 0xC0 ) == 0x80 )
     119        {
     120            /* 4-bytes UTF-8 character */
     121            WANTBYTES( 4, len );
     122            *(s++) = *(p++); *(s++) = *(p++);
     123            *(s++) = *(p++); *(s++) = *(p++);
     124            continue;
     125        }
     126
     127        /* ISO 8859-1 -> UTF-8 conversion */
     128        WANTBYTES( 2, len );
     129        *(s++) = 0xC0 | ( ( *p & 0xFF ) >> 6 );
     130        *(s++) = 0x80 | ( *(p++) & 0x3F );
     131    }
     132}
     133
    58134/***********************************************************************
    59135 * tr_metainfoParse
Note: See TracChangeset for help on using the changeset viewer.