Changeset 10781


Ignore:
Timestamp:
Jun 16, 2010, 2:01:03 PM (12 years ago)
Author:
charles
Message:

(trunk libT) #3297 "tr_makemeta() should use tr_open_file_for_scanning()" -- implemented in trunk for 2.10

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/makemeta.c

    r10634 r10781  
    2424#include "transmission.h"
    2525#include "crypto.h" /* tr_sha1 */
     26#include "fdlimit.h" /* tr_open_file_for_scanning() */
    2627#include "session.h"
    2728#include "bencode.h"
     
    204205    uint64_t totalRemain;
    205206    uint64_t off = 0;
    206     FILE *   fp;
     207    int fd;
    207208
    208209    if( !b->totalSize )
     
    212213    b->pieceIndex = 0;
    213214    totalRemain = b->totalSize;
    214     fp = fopen( b->files[fileIndex].filename, "rb" );
    215     if( !fp )
     215    fd = tr_open_file_for_scanning( b->files[fileIndex].filename );
     216    if( fd < 0 )
    216217    {
    217218        b->my_errno = errno;
     
    237238            const uint64_t n_this_pass =
    238239                MIN( ( b->files[fileIndex].size - off ), pieceRemain );
    239             fread( bufptr, 1, n_this_pass, fp );
     240            read( fd, bufptr, n_this_pass );
    240241            bufptr += n_this_pass;
    241242            off += n_this_pass;
     
    244245            {
    245246                off = 0;
    246                 fclose( fp );
    247                 fp = NULL;
     247                tr_close_file( fd );
     248                fd = -1;
    248249                if( ++fileIndex < b->fileCount )
    249250                {
    250                     fp = fopen( b->files[fileIndex].filename, "rb" );
    251                     if( !fp )
     251                    fd = tr_open_file_for_scanning( b->files[fileIndex].filename );
     252                    if( fd < 0 )
    252253                    {
    253254                        b->my_errno = errno;
     
    283284    assert( b->abortFlag || !totalRemain );
    284285
    285     if( fp )
    286         fclose( fp );
     286    if( fd >= 0 )
     287        tr_close_file( fd );
    287288
    288289    tr_free( buf );
Note: See TracChangeset for help on using the changeset viewer.