3 @@ -642,30 +642,34 @@ bool CommandLine::Parse(int argc, char *argv[])
7 - // All other files must exist
8 + // Originally, all specified files were supposed to exist, or the program
9 + // would stop with an error message. This was not practical, for example in
10 + // a directory with files appearing and disappearing (an active download directory).
11 + // So the new rule is: when a specified file doesn't exist, it is silently skipped.
12 if (!DiskFile::FileExists(filename))
14 - cerr << "The source file does not exist: " << filename << endl;
18 - u64 filesize = DiskFile::GetFileSize(filename);
20 - // Ignore all 0 byte files
23 - extrafiles.push_back(ExtraFile(filename, filesize));
25 - // track the total size of the source files and how
26 - // big the largest one is.
27 - totalsourcesize += filesize;
28 - if (largestsourcesize < filesize)
29 - largestsourcesize = filesize;
33 - cout << "Skipping 0 byte file: " << filename << endl;
35 + cout << "Ignoring non-existent source file: " << filename << endl;
39 + u64 filesize = DiskFile::GetFileSize(filename);
41 + // Ignore all 0 byte files
44 + extrafiles.push_back(ExtraFile(filename, filesize));
46 + // track the total size of the source files and how
47 + // big the largest one is.
48 + totalsourcesize += filesize;
49 + if (largestsourcesize < filesize)
50 + largestsourcesize = filesize;
54 + cout << "Skipping 0 byte file: " << filename << endl;