rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n");
rprintf(F," --write-batch=PREFIX write batch fileset starting with PREFIX\n");
rprintf(F," --read-batch=PREFIX read batch fileset starting with PREFIX\n");
+ rprintf(F," --checksum-seed=NUM set block/file checksum seed\n");
#ifdef INET6
rprintf(F," -4 --ipv4 prefer IPv4\n");
rprintf(F," -6 --ipv6 prefer IPv6\n");
{"from0", '0', POPT_ARG_NONE, &eol_nulls, 0, 0, 0},
{"no-implied-dirs", 0, POPT_ARG_VAL, &implied_dirs, 0, 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
+ {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
#ifdef INET6
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
};
-static char err_buf[100];
+static char err_buf[200];
/**
**/
void option_error(void)
{
- if (err_buf[0]) {
- rprintf(FLOG, "%s", err_buf);
- rprintf(FERROR, RSYNC_NAME ": %s", err_buf);
- } else {
- rprintf (FERROR, "Error parsing options: "
- "option may be supported on client but not on server?\n");
- rprintf (FERROR, RSYNC_NAME ": Error parsing options: "
- "option may be supported on client but not on server?\n");
+ int save_daemon = am_daemon;
+
+ if (!err_buf[0]) {
+ strcpy(err_buf, "Error parsing options: "
+ "option may be supported on client but not on server?\n");
}
+
+ rwrite(FLOG, err_buf, strlen(err_buf));
+ am_daemon = 0;
+ rprintf(FERROR, RSYNC_NAME ": %s", err_buf);
+ am_daemon = save_daemon;
}
snprintf(err_buf, sizeof err_buf,
"hard links are not supported on this %s\n",
am_server ? "server" : "client");
- rprintf(FERROR, "ERROR: %s", err_buf);
return 0;
#endif
snprintf(err_buf, sizeof err_buf,
"symlinks are not supported on this %s\n",
am_server ? "server" : "client");
- rprintf(FERROR, "ERROR: %s", err_buf);
return 0;
}
#endif
snprintf(err_buf, sizeof err_buf,
"hard links are not supported on this %s\n",
am_server ? "server" : "client");
- rprintf(FERROR, "ERROR: %s", err_buf);
return 0;
}
#endif
args[ac++] = arg;
}
+ if (checksum_seed) {
+ if (asprintf(&arg, "--checksum_seed=%d", checksum_seed) < 0)
+ goto oom;
+ args[ac++] = arg;
+ }
+
if (keep_partial)
args[ac++] = "--partial";