Description: sort the filelist when it is complete to get reproducible behaviour
Author: Reiner Herrmann <reiner@reiner-h.de>
Bug-Debian: https://bugs.debian.org/795790

Upstream-Status: Pending

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>

Index: rdfind-1.3.4/Fileinfo.hh
===================================================================
--- rdfind-1.3.4.orig/Fileinfo.hh
+++ rdfind-1.3.4/Fileinfo.hh
@@ -189,6 +189,10 @@ public:
   static bool compareondepth(const Fileinfo &a, const Fileinfo &b)
   {return (a.depth() < b.depth());}
 
+  //returns true if a has lower filename than b)
+  static bool compareonfilename(const Fileinfo &a, const Fileinfo &b)
+  {return (a.name().compare(b.name()) < 0);}
+
   //fills with bytes from the file. if lasttype is supplied,
   //it is used to see if the file needs to be read again - useful if
   //file is shorter than the length of the bytes field.
@@ -235,6 +239,10 @@ public:
   static bool equaldepth(const Fileinfo &a, const Fileinfo &b)
   {return (a.depth()==b.depth());}
 
+  //returns true if filenames are equal
+  static bool equalfilename(const Fileinfo &a, const Fileinfo &b)
+  {return (a.name()==b.name());}
+
   //returns true if file is a regular file. call readfileinfo first!
   bool isRegularFile() {return m_info.is_file;}
 
Index: rdfind-1.3.4/rdfind.cc
===================================================================
--- rdfind-1.3.4.orig/rdfind.cc
+++ rdfind-1.3.4/rdfind.cc
@@ -349,6 +349,7 @@ int main(int narg, char *argv[])
   cout<<dryruntext<<"Now have "<<filelist1.size()<<" files in total."<<endl;
   
   
+  gswd.sortlist(&Fileinfo::compareonfilename,&Fileinfo::equalfilename);
 
   //mark files with a unique number
   gswd.markitems();
