X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a06d19e3fca289d07ba18c71f39124a0da1ddd4a..fdd71e177db1a15f46d3d3c92c154a1ddc07f9fd:/flist.c diff --git a/flist.c b/flist.c index 80f18e48..2ec8318a 100644 --- a/flist.c +++ b/flist.c @@ -41,6 +41,7 @@ extern int preserve_devices; extern int preserve_uid; extern int preserve_gid; extern int preserve_times; +extern int relative_paths; static char **local_exclude_list = NULL; @@ -323,7 +324,7 @@ static void send_file_name(int f,struct file_list *flist,char *fname) out_of_memory("send_file_name"); } - if (strcmp(file->name,".") && strcmp(file->name,"/")) { + if (strcmp(file->name,"/")) { flist->files[flist->count++] = *file; send_file_entry(file,f); } @@ -421,12 +422,19 @@ struct file_list *send_file_list(int f,int argc,char *argv[]) } dir = NULL; - p = strrchr(fname,'/'); - if (p) { - *p = 0; - dir = fname; - fname = p+1; + + if (!relative_paths) { + p = strrchr(fname,'/'); + if (p) { + *p = 0; + if (p == fname) + dir = "/"; + else + dir = fname; + fname = p+1; + } } + if (!*fname) fname = ".";