Fix copyright.
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index 151ae87..381eb8e 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -101,12 +101,13 @@ static void finish_filelist_progress(const struct file_list *flist)
 {
        if (do_progress) {
                /* This overwrites the progress line */
-               rprintf(FINFO, "%d files to consider\n", flist->count);
-       } else
+               rprintf(FINFO, "%d file%sto consider\n",
+                       flist->count, flist->count == 1 ? " " : "s ");
+       } else {
                rprintf(FINFO, "done\n");
+       }
 }
 
-
 void show_flist_stats(void)
 {
        /* Nothing yet */
@@ -191,44 +192,56 @@ static void list_file_entry(struct file_struct *f)
 }
 
 
-int readlink_stat(const char *Path, STRUCT_STAT * Buffer, char *Linkbuf)
+/**
+ * Stat either a symlink or its referent, depending on the settings of
+ * copy_links, copy_unsafe_links, etc.
+ *
+ * @retval -1 on error
+ *
+ * @retval 0 for success
+ *
+ * @post If @p path is a symlink, then @p linkbuf (of size @c
+ * MAXPATHLEN) contains the symlink target.
+ *
+ * @post @p buffer contains information about the link or the
+ * referrent as appropriate, if they exist.
+ **/
+int readlink_stat(const char *path, STRUCT_STAT * buffer, char *linkbuf)
 {
 #if SUPPORT_LINKS
        if (copy_links) {
-               return do_stat(Path, Buffer);
+               return do_stat(path, buffer);
        }
-       if (do_lstat(Path, Buffer) == -1) {
+       if (do_lstat(path, buffer) == -1) {
                return -1;
        }
-       if (S_ISLNK(Buffer->st_mode)) {
+       if (S_ISLNK(buffer->st_mode)) {
                int l;
-               if ((l =
-                    readlink((char *) Path, Linkbuf,
-                             MAXPATHLEN - 1)) == -1) {
+               l = readlink((char *) path, linkbuf, MAXPATHLEN - 1);
+               if (l == -1) 
                        return -1;
-               }
-               Linkbuf[l] = 0;
+               linkbuf[l] = 0;
                if (copy_unsafe_links && (topsrcname[0] != '\0') &&
-                   unsafe_symlink(Linkbuf, topsrcname)) {
-                       return do_stat(Path, Buffer);
+                   unsafe_symlink(linkbuf, topsrcname)) {
+                       return do_stat(path, buffer);
                }
        }
        return 0;
 #else
-       return do_stat(Path, Buffer);
+       return do_stat(path, buffer);
 #endif
 }
 
-int link_stat(const char *Path, STRUCT_STAT * Buffer)
+int link_stat(const char *path, STRUCT_STAT * buffer)
 {
 #if SUPPORT_LINKS
        if (copy_links) {
-               return do_stat(Path, Buffer);
+               return do_stat(path, buffer);
        } else {
-               return do_lstat(Path, Buffer);
+               return do_lstat(path, buffer);
        }
 #else
-       return do_stat(Path, Buffer);
+       return do_stat(path, buffer);
 #endif
 }
 
@@ -987,8 +1000,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
                send_file_entry(NULL, f, 0);
        }
 
-       if (show_filelist_p())
+       if (show_filelist_p() && f != -1) {
                finish_filelist_progress(flist);
+       }
 
        clean_flist(flist, 0);