summaryrefslogtreecommitdiff
path: root/flist.c
Commit message (Collapse)AuthorAgeFilesLines
* Go back to using malloc() for the hard-link data structure (for nowWayne Davison2004-02-021-38/+17
| | | | at least).
* Make sure that the idev struct's data is 4-byte aligned.Wayne Davison2004-02-021-8/+20
|
* - Changed the file-list allocation to alloc all the memory we needWayne Davison2004-02-021-194/+167
| | | | | | | | with one call, not with several mallocs and strdups. - Got rid of string_area() stuff (as suggested in the "@todo"). - Enhanced free_file() to optionally free the whole struct or to clear it (since we don't need to do both). - Don't zero out the other flist data when we're about to free it.
* Added some missing #if SUPPORT_HARD_LINK and #if SUPPORT_LINK directives.Wayne Davison2004-02-011-15/+27
|
* Changed the rdev code to have both an "rdev" variable (which alwaysWayne Davison2004-02-011-15/+17
| | | | | has the full device value) and an "rdev_high" variable (which zeros the lower byte in the last rdev value).
* One more improvement to the 0-flag-byte avoidance algorithm.Wayne Davison2004-01-311-5/+9
|
* A small optimization to the symlink-send code, and an extra sanityWayne Davison2004-01-311-7/+8
| | | | check to the symlink-receive code.
* Fixed the test to ensure that we don't send a flag-byte of 0 to theWayne Davison2004-01-311-4/+4
| | | | receiver when transferring the file list.
* One more minor variable-name change.Wayne Davison2004-01-311-3/+3
|
* Switched a buffer name in make_file() to make the code a little moreWayne Davison2004-01-311-18/+17
| | | | similar to what is in receive_file_entry().
* Use who_am_i() to qualify some debug messages.Wayne Davison2004-01-271-5/+8
|
* Don't free lastdir! It is still needed by the flist basedir pointers.Wayne Davison2004-01-271-3/+2
| | | | Also, output the basedir pointer when dumping the flist for debugging.
* Optimized the -x option by removing the skip_filesystem() call and using theWayne Davison2004-01-271-28/+8
| | | | new FLAG_MOUNT_POINT flag.
* Tweaked a comment.Wayne Davison2004-01-271-1/+1
|
* Use the new names for the transmit-flag defines. We also make sureWayne Davison2004-01-271-45/+46
| | | | | | that the FLAG_TOP_DIR flag doesn't get set in the live data for a non-directory (when it's used as a kluge to prevent a 0x00 byte being sent over the wire for the flag data).
* Back out bad refactor (thanks Wayne)J.W. Schultz2004-01-261-3/+6
|
* Tightened up code in skip_filesystem()J.W. Schultz2004-01-251-7/+4
|
* When setting an flist entry's flags, mask it with LIVE_FLAGS.Wayne Davison2004-01-221-1/+1
|
* - Ensure in make_file() that we can't make a name that overflowsWayne Davison2004-01-221-23/+31
| | | | | | our buffers (note that receive_file_entry() already does this). - Changed f_name_to() to not do any length checking since it is now redundant.
* - Use the new push_dir() and pop_dir() calling syntax.Wayne Davison2004-01-201-7/+8
| | | | | - The "olddir" handling changed to accommodate the above, and to avoid using malloc()/free().
* A few minor string optimizations and a new complaint if we try toWayne Davison2004-01-171-17/+23
| | | | send a truncated filename.
* Items read from a per-directory .cvsignore file should be added to theWayne Davison2004-01-171-1/+1
| | | | local_exclude_list, not the exclude_list.
* Merged a couple more f != -1 if sections.Wayne Davison2004-01-131-13/+13
|
* Merged some "if (f != -1)" checks, put the clean_flist() call in theWayne Davison2004-01-131-13/+10
| | | | right spot, and moved some externs.
* Use the new dev+inode union in the flist_struct.Wayne Davison2004-01-111-16/+20
|
* Use the new union-ified flist_struct values.Wayne Davison2004-01-111-46/+49
|
* A slightly better reset mechanism for send_file_entry() andWayne Davison2004-01-101-24/+27
| | | | receive_file_entry().
* Allow the send_file_entry() and receive_file_entry() routines to beWayne Davison2004-01-101-18/+24
| | | | called by the batch processor.
* Got rid of tmpsum[].Wayne Davison2004-01-091-2/+2
|
* - Never allocate a useless sum array for a non-regular flist item.Wayne Davison2004-01-091-25/+25
| | | | | - Don't transmit the sum array for non-regular files (p28 onward). - Tweaked a couple comments.
* Added an extra comment.Wayne Davison2004-01-091-1/+2
|
* Finished the last_* renameing and fixed a cast..J.W. Schultz2004-01-091-7/+7
|
* Updated the send_file_name() and receive_file_entry() functions to makeWayne Davison2004-01-081-66/+68
| | | | | | some of the variable names more logical in the new program flow. Also improved the setting of the new last_rdev value that only remembers the high 3 bytes.
* Optimized the sending of dev+inode data for hard-linking supportWayne Davison2004-01-081-9/+32
| | | | (but only when speaking protocol 28).
* Implemented an extended-flag-byte in the transfer protocol by movingWayne Davison2004-01-081-18/+50
| | | | | | | | the SAME_RDEV bit into the next 8 bits and adding an EXTENDED_FLAG bit. Also modified the meaning of this bit for protocol 28 and above: SAME_HIGH_RDEV indicates that all but the lowest byte matches. The older protocols get OLD_SAME_RDEV set (with the old semantics) for compatibility. Note also that protocol 28 isn't turned on yet.
* Improved the code in send_file_entry() and receive_file_entry() toWayne Davison2004-01-081-43/+60
| | | | | | | make it a little easier to read and a little more optimized. Also made the flag size in our function calls match the size of the flags in the flist_struct. These changes will make it easier for me to optimize the sending of the hard-link data in a future commit.
* Cosmetic changes to file_compare() for readability and toJ.W. Schultz2004-01-071-7/+10
| | | | match hlink_compare()
* Some cosmetic tweaks.Wayne Davison2004-01-021-79/+53
|
* Silence some compiler warnings.Wayne Davison2004-01-021-8/+8
|
* Applying my updated version of Craig Barratt's buffered I/O patch.Wayne Davison2004-01-021-1/+1
|
* Optimized f_name(), generating: (1) f_name_cmp(), which optimizesWayne Davison2004-01-021-39/+96
| | | | | | comparing two file_struct elements without copying them first, and (2) f_name_to() which lets us supply the destination buffer for a f_name() call (to allow it to persist without an extra copy).
* Got rid of /* dw */ comments.Wayne Davison2004-01-021-2/+2
|
* New "io_error" variable handling for RERR_VANISHED support.Wayne Davison2003-12-151-8/+9
|
* Merged in the security fixes from 2.5.7.Wayne Davison2003-12-061-19/+19
|
* Detect and report when open or opendir succeed but read andJ.W. Schultz2003-09-161-3/+8
| | | | | | readdir fail caused by network filesystems issues and truncated files. Thanks to David Norwood and Michael Brown
* Improved file-related error messages by using the newWayne Davison2003-09-111-15/+15
| | | | full_fname() function.
* Changed "remote_version" to "protocol_version".Wayne Davison2003-09-091-5/+5
|
* - Made special exclusion-handling of '.' work in -R mode (so that weWayne Davison2003-08-171-15/+28
| | | | | | | | can't accidentally lose the '.' dir and not transfer anything at all). - Add a trailing '.' onto all '/'-trailing names, even '/' (fixes skipped deletions in -R mode from '/'). - Fixed loss of FLAG_DELETE on user-specified dir when unduplicating '.' (could happen on "./." or similar).
* Changed the syntax of a comment.Wayne Davison2003-07-031-1/+1
|
* Modifications to handle the new server_exclude_list, and to use theWayne Davison2003-07-011-29/+42
| | | | | revised calling syntax and new defines for the various exclude functions.