X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/cda2ae84b3b0f78387c5937094b4f5525c92fc19..cbce490e138d7bbc7bf982496861f093732dfba9:/flist.c diff --git a/flist.c b/flist.c index b97c919e..2dcbe756 100644 --- a/flist.c +++ b/flist.c @@ -299,7 +299,11 @@ static void receive_file_entry(struct file_struct **fptr, memset((char *)file, 0, sizeof(*file)); (*fptr) = file; - if (l2 >= MAXPATHLEN-l1) overflow("receive_file_entry"); + if (l2 >= MAXPATHLEN-l1) { + rprintf(FERROR,"overflow: flags=0x%x l1=%d l2=%d lastname=%s\n", + flags, l1, l2, lastname); + overflow("receive_file_entry"); + } strlcpy(thisname,lastname,l1+1); read_sbuf(f,&thisname[l1],l2); @@ -409,7 +413,8 @@ static int skip_filesystem(char *fname, STRUCT_STAT *st) return (st2.st_dev != filesystem_dev); } -static struct file_struct *make_file(int f, char *fname) +/* create a file_struct for a named file */ +struct file_struct *make_file(int f, char *fname) { struct file_struct *file; STRUCT_STAT st; @@ -737,8 +742,7 @@ struct file_list *send_file_list(int f,int argc,char *argv[]) if (one_file_system) set_filesystem(fname); - if (!recurse || !send_included_file_names(f,flist)) - send_file_name(f,flist,fname,recurse,FLAG_DELETE); + send_file_name(f,flist,fname,recurse,FLAG_DELETE); if (olddir != NULL) { flist_dir = NULL; @@ -922,7 +926,7 @@ int flist_find(struct file_list *flist,struct file_struct *f) /* * free up one file */ -static void free_file(struct file_struct *file) +void free_file(struct file_struct *file) { if (!file) return; if (file->basename) free(file->basename); @@ -999,12 +1003,12 @@ static void clean_flist(struct file_list *flist, int strip_root) if (verbose <= 3) return; for (i=0;icount;i++) { - rprintf(FINFO,"[%d] i=%d %s %s mode=0%o len=%d\n", + rprintf(FINFO,"[%d] i=%d %s %s mode=0%o len=%.0f\n", getpid(), i, NS(flist->files[i]->dirname), NS(flist->files[i]->basename), flist->files[i]->mode, - (int)flist->files[i]->length); + (double)flist->files[i]->length); } }