X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/06a5054273b5d8f75ad47b9a6a087790c848ee62..9cd339eb39d4090a8b85f8dccd2a823ff563b93a:/options.c diff --git a/options.c b/options.c index a27e68b6..c8d1a5cd 100644 --- a/options.c +++ b/options.c @@ -259,7 +259,7 @@ void usage(enum logcode F) rprintf(F," -W, --whole-file copy whole files, no incremental checks\n"); rprintf(F," --no-whole-file turn off --whole-file\n"); rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n"); - rprintf(F," -B, --block-size=SIZE checksum blocking size (default %d)\n",BLOCK_SIZE); + rprintf(F," -B, --block-size=SIZE force a fixed checksum block-size\n"); rprintf(F," -e, --rsh=COMMAND specify the remote shell\n"); rprintf(F," --rsync-path=PATH specify path to rsync on the remote machine\n"); rprintf(F," --existing only update files that already exist\n"); @@ -439,8 +439,10 @@ void option_error(void) static void set_refuse_options(char *bp) { struct poptOption *op; - char *cp; - int match_short, is_wild; + char *cp, shortname[2]; + int is_wild; + + shortname[1] = '\0'; while (1) { while (*bp == ' ') bp++; @@ -451,8 +453,7 @@ static void set_refuse_options(char *bp) /* If they specify "delete", reject all delete options. */ if (strcmp(bp, "delete") == 0) bp = "delete*"; - match_short = !bp[1] && *bp != '*'; - is_wild = !match_short && strpbrk(bp, "*?[") != NULL; + is_wild = strpbrk(bp, "*?[") != NULL; for (op = long_options; ; op++) { if (!op->longName) { rprintf(FLOG, @@ -460,8 +461,8 @@ static void set_refuse_options(char *bp) bp); break; } - if (match_short ? *bp == op->shortName - : wildmatch(bp, op->longName)) { + *shortname = op->shortName; + if (wildmatch(bp, op->longName) || wildmatch(bp, shortname)) { op->val = (op - long_options) + OPT_REFUSED_BASE; if (!is_wild) break; @@ -659,10 +660,10 @@ int parse_arguments(int *argc, const char ***argv, int frommain) } #endif - if (block_size > MAX_MAP_SIZE) { + if (block_size > MAX_BLOCK_SIZE) { rprintf(FINFO, "limiting block-size to %d bytes\n", - MAX_MAP_SIZE); - block_size = MAX_MAP_SIZE; + MAX_BLOCK_SIZE); + block_size = MAX_BLOCK_SIZE; } if (write_batch && read_batch) {