Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 17 | ||
---|---|---|---|
Line 86... | Line 86... | ||
86 | SR: TSearchRec; |
86 | SR: TSearchRec; |
87 | fullfilename: string; |
87 | fullfilename: string; |
88 | ADirectory: string; |
88 | ADirectory: string; |
89 | originalFilenameFull: string; |
89 | originalFilenameFull: string; |
90 | begin |
90 | begin |
- | 91 | if Copy(aChecksumFile, 2, 1) = ':' then aChecksumFile := '\\?\' + aChecksumFile; // To allow long filenames |
|
- | 92 | ||
91 | if ExtractFileName(aChecksumFile) <> DUMMY_FILE then |
93 | if ExtractFileName(aChecksumFile) <> DUMMY_FILE then |
92 | begin |
94 | begin |
93 | Inc(CheckSumFileCount); |
95 | Inc(CheckSumFileCount); |
94 | end; |
96 | end; |
95 | 97 | ||
96 | if cbVerbose.Checked then |
98 | if cbVerbose.Checked then |
97 | begin |
99 | begin |
98 | Form1.Memo1.Lines.Add('Check: ' + aChecksumFile); |
100 | Form1.Memo1.Lines.Add('Check: ' + StringReplace(aChecksumFile,'\\?\','',[])); |
99 | end; |
101 | end; |
100 | 102 | ||
101 | Result := seOK; |
103 | Result := seOK; |
102 | ADirectory := IncludeTrailingPathDelimiter(ExtractFilePath(aChecksumFile)); |
104 | ADirectory := IncludeTrailingPathDelimiter(ExtractFilePath(aChecksumFile)); |
103 | 105 | ||
Line 119... | Line 121... | ||
119 | begin |
121 | begin |
120 | originalFilename := slFile.Strings[i]; |
122 | originalFilename := slFile.Strings[i]; |
121 | expectedChecksum := TChecksum(slFile.Objects[i]).checksum; |
123 | expectedChecksum := TChecksum(slFile.Objects[i]).checksum; |
122 | 124 | ||
123 | originalFilenameFull := ADirectory + originalFilename; |
125 | originalFilenameFull := ADirectory + originalFilename; |
124 | - | ||
125 | if not FileExists(originalFilenameFull) then |
126 | if not FileExists(originalFilenameFull) then |
126 | begin |
127 | begin |
127 | if cbWarnVanishedFile.Checked then |
128 | if cbWarnVanishedFile.Checked then |
128 | begin |
129 | begin |
129 | Form1.Memo1.Lines.Add('FILE VANISHED: ' + originalFilenameFull); |
130 | Form1.Memo1.Lines.Add('FILE VANISHED: ' + StringReplace(originalFilenameFull,'\\?\','',[])); |
130 | Result := SevMax(Result, seCritical); |
131 | Result := SevMax(Result, seCritical); |
131 | end; |
132 | end; |
132 | end |
133 | end |
133 | else if LowerCase(GetChecksumSafe(originalFilenameFull)) |
134 | else if LowerCase(GetChecksumSafe(originalFilenameFull)) |
134 | = LowerCase(expectedChecksum) then |
135 | = LowerCase(expectedChecksum) then |
135 | begin |
136 | begin |
136 | if cbVerbose.Checked then |
137 | if cbVerbose.Checked then |
137 | begin |
138 | begin |
138 | Form1.Memo1.Lines.Add('OK: ' + originalFilenameFull + ' = ' + |
139 | Form1.Memo1.Lines.Add('OK: ' + StringReplace(originalFilenameFull,'\\?\','',[]) + ' = ' + |
139 | expectedChecksum); |
140 | expectedChecksum); |
140 | end; |
141 | end; |
141 | Result := SevMax(Result, seOK); |
142 | Result := SevMax(Result, seOK); |
142 | end |
143 | end |
143 | else |
144 | else |
144 | begin |
145 | begin |
145 | if cbWarnChecksumMismatch.Checked then |
146 | if cbWarnChecksumMismatch.Checked then |
146 | begin |
147 | begin |
147 | Form1.Memo1.Lines.Add('CHECKSUM MISMATCH: ' + originalFilenameFull + |
148 | Form1.Memo1.Lines.Add('CHECKSUM MISMATCH: ' + StringReplace(originalFilenameFull,'\\?\','',[]) + |
148 | ' <> ' + expectedChecksum); |
149 | ' <> ' + expectedChecksum); |
149 | Result := SevMax(Result, seCritical); |
150 | Result := SevMax(Result, seCritical); |
150 | end; |
151 | end; |
151 | end; |
152 | end; |
152 | end; |
153 | end; |
Line 166... | Line 167... | ||
166 | if ExtractFileName(aChecksumFile) = DUMMY_FILE then |
167 | if ExtractFileName(aChecksumFile) = DUMMY_FILE then |
167 | begin |
168 | begin |
168 | if cbWarnChecksumFileMissing.Checked then |
169 | if cbWarnChecksumFileMissing.Checked then |
169 | begin |
170 | begin |
170 | Form1.Memo1.Lines.Add('NEW FILE WITHOUT CHECKSUM FILE: ' + |
171 | Form1.Memo1.Lines.Add('NEW FILE WITHOUT CHECKSUM FILE: ' + |
171 | fullfilename); |
172 | StringReplace(fullfilename,'\\?\','',[])); |
172 | Result := SevMax(Result, seWarning); |
173 | Result := SevMax(Result, seWarning); |
173 | end; |
174 | end; |
174 | end |
175 | end |
175 | else |
176 | else |
176 | begin |
177 | begin |
177 | if cbWarningMissingChecksumFileEntry.Checked then |
178 | if cbWarningMissingChecksumFileEntry.Checked then |
178 | begin |
179 | begin |
179 | Form1.Memo1.Lines.Add('NEW FILE WITHOUT CHECKSUM ENTRY: ' + |
180 | Form1.Memo1.Lines.Add('NEW FILE WITHOUT CHECKSUM ENTRY: ' + |
180 | fullfilename); |
181 | StringReplace(fullfilename,'\\?\','',[])); |
181 | Result := SevMax(Result, seWarning); |
182 | Result := SevMax(Result, seWarning); |
182 | end; |
183 | end; |
183 | end; |
184 | end; |
184 | end; |
185 | end; |
185 | end; |
186 | end; |