Subversion Repositories checksum-tools

Rev

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;