updated on Sun Jan 15 12:00:22 UTC 2012
[aur-mirror.git] / par2cmdline / 05-When-a-file-is-specified-to-be-scanned-but-it-dooen-.patch
bloba58502ead0cd3a7fed27259061518c567db65055
1 --- a/commandline.cpp
2 +++ b/commandline.cpp
3 @@ -642,30 +642,34 @@ bool CommandLine::Parse(int argc, char *argv[])
5 else
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;
15 - return false;
16 - }
18 - u64 filesize = DiskFile::GetFileSize(filename);
20 - // Ignore all 0 byte files
21 - if (filesize > 0)
22 - {
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;
30 - }
31 - else
32 - {
33 - cout << "Skipping 0 byte file: " << filename << endl;
34 - }
35 + cout << "Ignoring non-existent source file: " << filename << endl;
36 + }
37 + else
38 + {
39 + u64 filesize = DiskFile::GetFileSize(filename);
41 + // Ignore all 0 byte files
42 + if (filesize > 0)
43 + {
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;
51 + }
52 + else
53 + {
54 + cout << "Skipping 0 byte file: " << filename << endl;
55 + }
56 + } //end file exists
59 ++fn;