X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/cfe397804951cec80aa61dc1575ebe878a5d3807..6d4ecad122887af92dc1363c9e0d4cca542bf2f5:/generator.c diff --git a/generator.c b/generator.c index b7d78506..88abe9c9 100644 --- a/generator.c +++ b/generator.c @@ -94,6 +94,10 @@ extern struct filter_list_struct server_filter_list; static int deletion_count = 0; /* used to implement --max-delete */ +/* For calling delete_file() */ +#define DEL_FORCE_RECURSE (1<<1) /* recurse even w/o --force */ +#define DEL_TERSE (1<<3) + static int is_backup_file(char *fn) { @@ -103,8 +107,7 @@ static int is_backup_file(char *fn) /* Delete a file or directory. If DEL_FORCE_RECURSE is set in the flags, or if - * force_delete is set, this will delete recursively as long as DEL_NO_RECURSE - * is not set in the flags. + * force_delete is set, this will delete recursively. * * Note that fname must point to a MAXPATHLEN buffer if the mode indicates it's * a directory! (The buffer is used for recursion, but returned unchanged.) @@ -138,8 +141,7 @@ static int delete_item(char *fname, int mode, int flags) return -1; } - zap_dir = (flags & DEL_FORCE_RECURSE || (force_delete && recurse)) - && !(flags & DEL_NO_RECURSE); + zap_dir = flags & DEL_FORCE_RECURSE || (force_delete && recurse); if ((max_delete && ++deletion_count > max_delete) || (dry_run && zap_dir)) { ok = 0; @@ -659,7 +661,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, S_ISDIR(file->mode)) < 0) { if (S_ISDIR(file->mode)) excluded_below = file->dir.depth; - skipping: + skipping: if (verbose) { rprintf(FINFO, "skipping server-excluded file \"%s\"\n", @@ -1089,7 +1091,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, return; } -prepare_to_open: + prepare_to_open: if (partialptr) { st = partial_st; fnamecmp = partialptr; @@ -1112,7 +1114,7 @@ prepare_to_open: if (fd == -1) { rsyserr(FERROR, errno, "failed to open %s, continuing", full_fname(fnamecmp)); - pretend_missing: + pretend_missing: /* pretend the file didn't exist */ if (preserve_hard_links && file->link_u.links && hard_link_check(file, ndx, fname, statret, &st, @@ -1157,7 +1159,7 @@ prepare_to_open: if (verbose > 2) rprintf(FINFO, "generating and sending sums for %d\n", ndx); -notify_others: + notify_others: write_int(f_out, ndx); if (itemizing) { int iflags = ITEM_TRANSFER;