}
if (do_stats) {
- printf("\nNumber of files: %d\n", stats.num_files);
- printf("Number of files transferred: %d\n",
+ rprintf(FINFO,"\nNumber of files: %d\n", stats.num_files);
+ rprintf(FINFO,"Number of files transferred: %d\n",
stats.num_transferred_files);
- printf("Total file size: %.0f bytes\n",
+ rprintf(FINFO,"Total file size: %.0f bytes\n",
(double)stats.total_size);
- printf("Total transferred file size: %.0f bytes\n",
+ rprintf(FINFO,"Total transferred file size: %.0f bytes\n",
(double)stats.total_transferred_size);
- printf("Literal data: %.0f bytes\n",
+ rprintf(FINFO,"Literal data: %.0f bytes\n",
(double)stats.literal_data);
- printf("Matched data: %.0f bytes\n",
+ rprintf(FINFO,"Matched data: %.0f bytes\n",
(double)stats.matched_data);
- printf("File list size: %d\n", stats.flist_size);
- printf("Total bytes written: %.0f\n",
+ rprintf(FINFO,"File list size: %d\n", stats.flist_size);
+ rprintf(FINFO,"Total bytes written: %.0f\n",
(double)stats.total_written);
- printf("Total bytes read: %.0f\n\n",
+ rprintf(FINFO,"Total bytes read: %.0f\n\n",
(double)stats.total_read);
}
- printf("wrote %.0f bytes read %.0f bytes %.2f bytes/sec\n",
+ rprintf(FINFO,"wrote %.0f bytes read %.0f bytes %.2f bytes/sec\n",
(double)stats.total_written,
(double)stats.total_read,
(stats.total_written+stats.total_read)/(0.5 + (t-starttime)));
- printf("total size is %.0f speedup is %.2f\n",
+ rprintf(FINFO,"total size is %.0f speedup is %.2f\n",
(double)stats.total_size,
(1.0*stats.total_size)/(stats.total_written+stats.total_read));
return status | status2;
}
+static char *find_colon(char *s)
+{
+ char *p, *p2;
+
+ p = strchr(s,':');
+ if (!p) return NULL;
+
+ /* now check to see if there is a / in the string before the : - if there is then
+ discard the colon on the assumption that the : is part of a filename */
+ p2 = strchr(s,'/');
+ if (p2 && p2 < p) return NULL;
+
+ return p;
+}
static int start_client(int argc, char *argv[])
{
extern int am_sender;
extern char *shell_cmd;
- p = strchr(argv[0],':');
+ p = find_colon(argv[0]);
if (p) {
if (p[1] == ':') {
} else {
am_sender = 1;
- p = strchr(argv[argc-1],':');
+ p = find_colon(argv[argc-1]);
if (!p) {
local_server = 1;
} else if (p[1] == ':') {