Added RERR_VANISHED.
[rsync/rsync.git] / options.c
index 52fc8c7..85880ca 100644 (file)
--- a/options.c
+++ b/options.c
@@ -52,7 +52,7 @@ int ignore_times=0;
 int delete_mode=0;
 int delete_excluded=0;
 int one_file_system=0;
-int remote_version=0;
+int protocol_version = PROTOCOL_VERSION;
 int sparse_files=0;
 int do_compression=0;
 int am_root=0;
@@ -376,6 +376,7 @@ static struct poptOption long_options[] = {
   {"files-from",       0,  POPT_ARG_STRING, &files_from, 0, 0, 0 },
   {"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 },
 #ifdef INET6
   {0,                '4', POPT_ARG_VAL,    &default_af_hint, AF_INET, 0, 0 },
   {0,                '6', POPT_ARG_VAL,    &default_af_hint, AF_INET6, 0, 0 },
@@ -396,7 +397,7 @@ void option_error(void)
 {
        if (err_buf[0]) {
                rprintf(FLOG, "%s", err_buf);
-               rprintf(FERROR, "%s: %s", RSYNC_NAME, 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");
@@ -656,8 +657,11 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
                        usage(FERROR);
                        exit_cleanup(RERR_SYNTAX);
                }
-               if (strcmp(files_from, "-") == 0)
+               if (strcmp(files_from, "-") == 0) {
                        filesfrom_fd = 0;
+                       if (am_server)
+                               remote_filesfrom_file = "-";
+               }
                else if ((colon = find_colon(files_from)) != 0) {
                        if (am_server) {
                                usage(FERROR);
@@ -824,7 +828,7 @@ void server_options(char **args,int *argc)
 
        /* Only send --suffix if it specifies a non-default value. */
        if (strcmp(backup_suffix, backup_dir? "" : BACKUP_SUFFIX) != 0) {
-               char *s = malloc(9+backup_suffix_len+1);
+               char *s = new_array(char, 9+backup_suffix_len+1);
                if (!s)
                        out_of_memory("server_options");
                /* We use the following syntax to avoid weirdness with '~'. */