X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/9127013998bd097f699897b0f2b142fe2ba71e9d..0ef5abcbbb95298fa9faf1d3eb275a9e76e1d951:/transliterate.diff diff --git a/transliterate.diff b/transliterate.diff index f12cf5f..68bc269 100644 --- a/transliterate.diff +++ b/transliterate.diff @@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build: diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c -@@ -83,6 +83,9 @@ extern int filesfrom_convert; +@@ -84,6 +84,9 @@ extern int filesfrom_convert; extern iconv_t ic_send, ic_recv; #endif @@ -26,7 +26,7 @@ diff --git a/flist.c b/flist.c #define PTR_SIZE (sizeof (struct file_struct *)) int io_error; -@@ -616,6 +619,24 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, +@@ -619,6 +622,24 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, stats.total_size += F_LENGTH(file); } @@ -51,7 +51,7 @@ diff --git a/flist.c b/flist.c static struct file_struct *recv_file_entry(struct file_list *flist, int xflags, int f) { -@@ -684,6 +705,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist, +@@ -687,6 +708,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist, } #endif @@ -73,7 +73,7 @@ diff --git a/options.c b/options.c #define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */ char *batch_name = NULL; -@@ -431,6 +433,7 @@ void usage(enum logcode F) +@@ -432,6 +434,7 @@ void usage(enum logcode F) #ifdef ICONV_OPTION rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n"); #endif @@ -81,7 +81,7 @@ diff --git a/options.c b/options.c rprintf(F," -4, --ipv4 prefer IPv4\n"); rprintf(F," -6, --ipv6 prefer IPv6\n"); rprintf(F," --version print version number\n"); -@@ -633,6 +636,7 @@ static struct poptOption long_options[] = { +@@ -634,6 +637,7 @@ static struct poptOption long_options[] = { {"iconv", 0, POPT_ARG_STRING, &iconv_opt, 0, 0, 0 }, {"no-iconv", 0, POPT_ARG_NONE, 0, OPT_NO_ICONV, 0, 0 }, #endif @@ -89,7 +89,7 @@ diff --git a/options.c b/options.c {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, {"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 }, -@@ -1680,6 +1684,31 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -1681,6 +1685,31 @@ int parse_arguments(int *argc_p, const char ***argv_p) } } @@ -121,7 +121,7 @@ diff --git a/options.c b/options.c am_starting_up = 0; return 1; -@@ -2048,6 +2077,12 @@ void server_options(char **args, int *argc_p) +@@ -2063,6 +2092,12 @@ void server_options(char **args, int *argc_p) else if (remove_source_files) args[ac++] = "--remove-sent-files"; @@ -131,13 +131,13 @@ diff --git a/options.c b/options.c + args[ac++] = arg; + } + - *argc_p = ac; - return; - + if (ac > MAX_SERVER_ARGS) { /* Not possible... */ + rprintf(FERROR, "argc overflow in server_options().\n"); + exit_cleanup(RERR_MALLOC); diff --git a/rsync.yo b/rsync.yo --- a/rsync.yo +++ b/rsync.yo -@@ -423,6 +423,7 @@ to the detailed description below for a complete description. verb( +@@ -427,6 +427,7 @@ to the detailed description below for a complete description. verb( --read-batch=FILE read a batched update from FILE --protocol=NUM force an older protocol version to be used --iconv=CONVERT_SPEC request charset conversion of filenames @@ -145,7 +145,7 @@ diff --git a/rsync.yo b/rsync.yo --checksum-seed=NUM set block/file checksum seed (advanced) -4, --ipv4 prefer IPv4 -6, --ipv6 prefer IPv6 -@@ -2077,6 +2078,22 @@ daemon uses the charset specified in its "charset" configuration parameter +@@ -2093,6 +2094,22 @@ daemon uses the charset specified in its "charset" configuration parameter regardless of the remote charset you actually pass. Thus, you may feel free to specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)).