From 33f77798d3513aa534dd563d17d614e9207fdde8 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 14 Feb 2008 01:12:00 +0000 Subject: [PATCH] #706: save a little more memory by doing the same for tr_info.comment and tr_info.creator --- libtransmission/metainfo.c | 14 ++++++++++++-- libtransmission/transmission.h | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/libtransmission/metainfo.c b/libtransmission/metainfo.c index d554a771d..763e0e991 100644 --- a/libtransmission/metainfo.c +++ b/libtransmission/metainfo.c @@ -200,14 +200,22 @@ tr_metainfoParse( tr_info * inf, const benc_val_t * meta_in, const char * tag ) val = tr_bencDictFindFirst( meta, "comment.utf-8", "comment", NULL ); if( NULL != val && TYPE_STR == val->type ) { - strlcat_utf8( inf->comment, val->val.s.s, sizeof( inf->comment ), 0 ); + char buf[4096]; + memset( buf, 0, sizeof( buf ) ); + strlcat_utf8( buf, val->val.s.s, sizeof( buf ), 0 ); + tr_free( inf->comment ); + inf->comment = tr_strdup( buf ); } /* Creator info */ val = tr_bencDictFindFirst( meta, "created by.utf-8", "created by", NULL ); if( NULL != val && TYPE_STR == val->type ) { - strlcat_utf8( inf->creator, val->val.s.s, sizeof( inf->creator ), 0 ); + char buf[4096]; + memset( buf, 0, sizeof( buf ) ); + strlcat_utf8( buf, val->val.s.s, sizeof( buf ), 0 ); + tr_free( inf->creator ); + inf->creator = tr_strdup( buf ); } /* Date created */ @@ -310,6 +318,8 @@ void tr_metainfoFree( tr_info * inf ) tr_free( inf->pieces ); tr_free( inf->files ); + tr_free( inf->comment ); + tr_free( inf->creator ); tr_free( inf->primaryAddress ); for( i=0; itrackerTiers; ++i ) { diff --git a/libtransmission/transmission.h b/libtransmission/transmission.h index 8de6138de..a5a882cbe 100644 --- a/libtransmission/transmission.h +++ b/libtransmission/transmission.h @@ -645,8 +645,8 @@ struct tr_info char * primaryAddress; /* Torrent info */ - char comment[MAX_PATH_LENGTH]; - char creator[MAX_PATH_LENGTH]; + char * comment; + char * creator; int dateCreated; /* Pieces info */