version 1.17.4.1, 2021/11/09 13:41:24 |
version 1.18, 2021/05/17 12:02:58 |
|
|
|
|
#define RSYNC_PATH "rsync" |
#define RSYNC_PATH "rsync" |
|
|
const char * |
|
alt_base_mode(int mode) |
|
{ |
|
switch (mode) { |
|
case BASE_MODE_COMPARE: |
|
return "--compare-dest"; |
|
case BASE_MODE_COPY: |
|
return "--copy-dest"; |
|
case BASE_MODE_LINK: |
|
return "--link-dest"; |
|
default: |
|
errx(1, "unknown base mode %d", mode); |
|
} |
|
} |
|
|
|
char ** |
char ** |
fargs_cmdline(struct sess *sess, const struct fargs *f, size_t *skip) |
fargs_cmdline(struct sess *sess, const struct fargs *f, size_t *skip) |
{ |
{ |
|
|
if (!sess->opts->specials && sess->opts->devices) |
if (!sess->opts->specials && sess->opts->devices) |
/* --devices is sent as -D --no-specials */ |
/* --devices is sent as -D --no-specials */ |
addargs(&args, "--no-specials"); |
addargs(&args, "--no-specials"); |
if (sess->opts->max_size >= 0) |
|
addargs(&args, "--max-size=%lld", sess->opts->max_size); |
|
if (sess->opts->min_size >= 0) |
|
addargs(&args, "--min-size=%lld", sess->opts->min_size); |
|
|
|
/* only add --compare-dest, etc if this is the sender */ |
|
if (sess->opts->alt_base_mode != 0 && |
|
f->mode == FARGS_SENDER) { |
|
for (j = 0; j < MAX_BASEDIR; j++) { |
|
if (sess->opts->basedir[j] == NULL) |
|
break; |
|
addargs(&args, "%s=%s", |
|
alt_base_mode(sess->opts->alt_base_mode), |
|
sess->opts->basedir[j]); |
|
} |
|
} |
|
|
|
/* Terminate with a full-stop for reasons unknown. */ |
/* Terminate with a full-stop for reasons unknown. */ |
|
|