Changeset 6615


Ignore:
Timestamp:
Aug 21, 2008, 6:40:40 PM (13 years ago)
Author:
charles
Message:

(libT) avoid an unnecessary memory alloc

Location:
trunk/libtransmission
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/bencode-test.c

    r6612 r6615  
    9090    int err;
    9191    const uint8_t * end;
    92     uint8_t * str;
     92    const uint8_t * str;
    9393    size_t len;
    9494
     
    9797    err = tr_bencParseStr( buf, buf+6, &end, &str, &len );
    9898    check( err == TR_OK );
    99     check( !strcmp( (char*)str, "boat" ) );
     99    check( !strncmp( (char*)str, "boat", len ) );
    100100    check( len == 4 );
    101101    check( end == buf + 6 );
    102     tr_free( str );
    103102    str = NULL;
    104103    end = NULL;
     
    119118    check( !len );
    120119    check( end == buf + 2 );
    121     tr_free( str );
    122120    str = NULL;
    123121    end = NULL;
     
    128126    err = tr_bencParseStr( buf, buf+6, &end, &str, &len );
    129127    check( err == TR_OK );
    130     check( !strcmp( (char*)str, "boa" ) );
     128    check( !strncmp( (char*)str, "boa", len ) );
    131129    check( len == 3 );
    132130    check( end == buf + 5 );
    133     tr_free( str );
    134131    str = NULL;
    135132    end = NULL;
  • trunk/libtransmission/bencode.c

    r6614 r6615  
    119119                 const uint8_t  * bufend,
    120120                 const uint8_t ** setme_end,
    121                  uint8_t      ** setme_str,
     121                 const uint8_t ** setme_str,
    122122                 size_t         * setme_strlen )
    123123{
     
    145145
    146146    *setme_end = end + 1 + len;
    147     *setme_str = tr_memdup( end+1, len );
     147    *setme_str = end + 1;
    148148    *setme_strlen = len;
    149149    return TR_OK;
     
    280280        {
    281281            const uint8_t * end;
    282             uint8_t * str;
     282            const uint8_t * str;
    283283            size_t str_len;
    284284            int err;
     
    289289
    290290            node = getNode( top, parentStack, TYPE_STR );
    291             if( !node ) {
    292                 tr_free( str );
     291            if( !node )
    293292                return TR_ERROR;
    294             }
    295293
    296294            tr_bencInitStr( node, str, str_len );
  • trunk/libtransmission/bencode.h

    r6612 r6615  
    141141                      const uint8_t  * bufend,
    142142                      const uint8_t ** setme_end,
    143                       uint8_t      ** setme_str,
     143                      const uint8_t ** setme_str,
    144144                      size_t         * setme_strlen );
    145145
Note: See TracChangeset for help on using the changeset viewer.