Ignore:
Timestamp:
Mar 22, 2008, 6:10:59 PM (14 years ago)
Author:
charles
Message:

fix bug that caused very large torrents to crash Transmission

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/torrent.h

    r5204 r5329  
    2727
    2828/* just like tr_torrentSetFileDLs but doesn't trigger a fastresume save */
    29 void tr_torrentInitFileDLs( tr_torrent   * tor,
    30                             int          * files,
    31                             int            fileCount,
    32                             int            do_download );
     29void tr_torrentInitFileDLs( tr_torrent       * tor,
     30                            tr_file_index_t  * files,
     31                            tr_file_index_t    fileCount,
     32                            int                do_download );
    3333
    3434int tr_torrentIsPrivate( const tr_torrent * );
     
    3838void tr_torrentResetTransferStats( tr_torrent * );
    3939
    40 void tr_torrentSetHasPiece( tr_torrent * tor, int pieceIndex, int has );
     40void tr_torrentSetHasPiece( tr_torrent       * tor,
     41                            tr_piece_index_t   pieceIndex,
     42                            int                has );
    4143
    4244void tr_torrentLock    ( const tr_torrent * );
     
    7476
    7577#define tr_block(a,b) _tr_block(tor,a,b)
    76 int _tr_block( const tr_torrent * tor, int index, int begin );
     78tr_block_index_t _tr_block( const tr_torrent * tor,
     79                            tr_piece_index_t   index,
     80                            uint32_t           offset );
    7781
    7882int tr_torrentReqIsValid( const tr_torrent * tor,
    79                           uint32_t           index,
     83                          tr_piece_index_t   index,
    8084                          uint32_t           offset,
    8185                          uint32_t           length );
    8286
    83 uint64_t tr_pieceOffset( const tr_torrent * tor, int index, int begin, int length );
     87uint64_t tr_pieceOffset( const tr_torrent * tor,
     88                         tr_piece_index_t   index,
     89                         uint32_t           offset,
     90                         uint32_t           length );
    8491
    85 void tr_torrentInitFilePriority( tr_torrent   * tor,
    86                                  int            fileIndex,
    87                                  tr_priority_t  priority );
     92void tr_torrentInitFilePriority( tr_torrent       * tor,
     93                                 tr_file_index_t    fileIndex,
     94                                 tr_priority_t      priority );
    8895
    8996
    9097int  tr_torrentCountUncheckedPieces( const tr_torrent * );
    91 int  tr_torrentIsPieceChecked      ( const tr_torrent *, int piece );
    92 int  tr_torrentIsFileChecked       ( const tr_torrent *, int file );
    93 void tr_torrentSetPieceChecked     ( tr_torrent *, int piece, int isChecked );
    94 void tr_torrentSetFileChecked      ( tr_torrent *, int file, int isChecked );
     98int  tr_torrentIsPieceChecked      ( const tr_torrent *, tr_piece_index_t piece );
     99int  tr_torrentIsFileChecked       ( const tr_torrent *, tr_file_index_t file );
     100void tr_torrentSetPieceChecked     ( tr_torrent *, tr_piece_index_t piece, int isChecked );
     101void tr_torrentSetFileChecked      ( tr_torrent *, tr_file_index_t file, int isChecked );
    95102void tr_torrentUncheck             ( tr_torrent * );
    96103
     
    123130   
    124131    /* How many bytes we ask for per request */
    125     int                        blockSize;
    126     int                        blockCount;
     132    uint32_t                   blockSize;
     133    tr_block_index_t           blockCount;
    127134
    128     int                        lastBlockSize;
    129     int                        lastPieceSize;
     135    uint32_t                   lastBlockSize;
     136    uint32_t                   lastPieceSize;
    130137
    131     int                        blockCountInPiece;
    132     int                        blockCountInLastPiece;
     138    uint32_t                   blockCountInPiece;
     139    uint32_t                   blockCountInLastPiece;
    133140   
    134141    struct tr_completion     * completion;
Note: See TracChangeset for help on using the changeset viewer.