Changeset 12582


Ignore:
Timestamp:
Jul 25, 2011, 5:48:14 PM (10 years ago)
Author:
jordan
Message:

(trunk libt) #4305 "New Torrent via RPC Error:No data found when subfolder does not exist" -- revert r12076 s.t. parent directories are created as necessary when saving local data to disk.

Location:
trunk/libtransmission
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/fdlimit.c

    r12541 r12582  
    343343static int
    344344cached_file_open( struct tr_cached_file  * o,
    345                   const char             * existing_dir,
    346345                  const char             * filename,
    347346                  bool                     writable,
     
    352351    struct stat sb;
    353352    bool alreadyExisted;
    354 
    355     /* confirm that existing_dir, if specified, exists on the disk */
    356     if( existing_dir && *existing_dir && stat( existing_dir, &sb ) )
    357     {
    358         const int err = errno;
    359         tr_err( _( "Couldn't open \"%1$s\": %2$s" ), existing_dir, tr_strerror( err ) );
    360         return err;
    361     }
    362353
    363354    /* create subfolders, if any */
     
    632623                   int                      torrent_id,
    633624                   tr_file_index_t          i,
    634                    const char             * existing_dir,
    635625                   const char             * filename,
    636626                   bool                     writable,
     
    648638    if( !cached_file_is_open( o ) )
    649639    {
    650         const int err = cached_file_open( o, existing_dir, filename, writable, allocation, file_size );
     640        const int err = cached_file_open( o, filename, writable, allocation, file_size );
    651641        if( err ) {
    652642            errno = err;
  • trunk/libtransmission/fdlimit.h

    r12514 r12582  
    5252 * - if do_write is true, the target file is created if necessary.
    5353 *
    54  * @param existing_dir An ancestor of filename which must already exist and
    55  *                     won't be created by tr_fdFileCheckout(). This prevents
    56  *                     directories from being created in error, such as a mount
    57  *                     point for an external drive when the drive is unplugged.
    58  *
    5954 * on success, a file descriptor >= 0 is returned.
    6055 * on failure, a -1 is returned and errno is set.
     
    6560                        int                      torrent_id,
    6661                        tr_file_index_t          file_num,
    67                         const char             * existing_dir,
    6862                        const char             * filename,
    69                         bool                  do_write,
     63                        bool                     do_write,
    7064                        tr_preallocation_mode    preallocation_mode,
    7165                        uint64_t                 preallocation_file_size );
  • trunk/libtransmission/inout.c

    r12462 r12582  
    9393                               : tor->session->preallocationMode;
    9494            if((( fd = tr_fdFileCheckout( session, tor->uniqueId, fileIndex,
    95                                           base, filename, doWrite,
     95                                          filename, doWrite,
    9696                                          prealloc, file->length ))) < 0 )
    9797            {
Note: See TracChangeset for help on using the changeset viewer.