Index: freexp/md5.pas =================================================================== RCS file: /server/cvs/freexp/md5.pas,v retrieving revision 1.5 retrieving revision 1.8 diff -u -r1.5 -r1.8 --- freexp/md5.pas 31 Mar 2006 10:41:18 -0000 1.5 +++ freexp/md5.pas 16 Apr 2006 16:15:09 -0000 1.8 @@ -1,6 +1,6 @@ -{ $Id: md5.pas,v 1.5 2006/03/31 10:41:18 mw Exp $ } +{ $Id: md5.pas,v 1.8 2006/04/16 16:15:09 mw Exp $ } unit MD5; - +{$I-} {MD5 - 128 bit Hash function} @@ -448,9 +448,15 @@ reset(f,1); err:=IOResult; FileMode:=w; - if err<>0 then exit; + if err<>0 then begin + Dispose(md5bufp); + exit; + end; l:=FileSize(f); - if IOResult<>0 then exit; + if IOResult<>0 then begin + Dispose(md5bufp); + exit; + end; while (err=0) and (l>0) do begin blockread(f,md5bufp^,SizeOf(md5buf),n); @@ -460,7 +466,10 @@ end; close(f); if IOResult=0 then; - if err<>0 then exit; + if err<>0 then begin + Dispose(md5bufp); + exit; + end; MD5Final(context,digest); Dispose(md5bufp); StrDigest:=''; @@ -942,6 +951,15 @@ end. { $Log: md5.pas,v $ + Revision 1.8 2006/04/16 16:15:09 mw + MW: - Memory-Leak beseitigt. + + Revision 1.7 2006/04/16 15:45:56 mw + MW: - Globales Abschalten der Io-Prüfung (I-) + + Revision 1.6 2006/04/16 14:13:04 mw + MW: - IO-Fehler beseitigt. + Revision 1.5 2006/03/31 10:41:18 mw MW: - Copyright ergänzt (wir haben diese Datei modifiziert!!!) Index: freexp/touch.pas =================================================================== RCS file: /server/cvs/freexp/touch.pas,v retrieving revision 1.24 retrieving revision 1.27 diff -u -r1.24 -r1.27 --- freexp/touch.pas 2 Jan 2006 09:46:11 -0000 1.24 +++ freexp/touch.pas 16 Apr 2006 16:15:41 -0000 1.27 @@ -9,25 +9,26 @@ { finden Sie in der Datei TOUCH.TXT oder auf } { http://www.martinwodrich.de/Software/Touch/nutzung.htm } { --------------------------------------------------------------- } -{ $Id: touch.pas,v 1.24 2006/01/02 09:46:11 mw Exp $ } +{ $Id: touch.pas,v 1.27 2006/04/16 16:15:41 mw Exp $ } +{$IFDEF MSDOS}{$M 32768,131072,655360}{$ENDIF} program touch; {$I TOUCH.INC } { Betriebsystemabhaeniges } {$IFNDEF WINDOWS } {$IFDEF VPOS2} -uses use32,dos,crt; +uses use32,dos,crt,md5,fileio; {$ELSE } -uses dos,crt{$IFDEF BPLFN},touchlfn{$ENDIF}; +uses dos,crt{$IFDEF BPLFN},touchlfn{$ENDIF},md5,fileio; {$ENDIF } {$ELSE } -uses windos,wincrt,strings; +uses windos,wincrt,strings,md5,fileio; {$ENDIF } const anyfile=$21; {$IFNDEF DPMI} {$IFNDEF unix} - beta='.3'; {Patchlevel 1} + beta='.3fxp1'; {Patchlevel 3} {$ELSE} !!! Touch 1.2 lΣuft nicht auf unixartigen Betriebsystemen !! beta=' Alpha 7'; @@ -90,6 +91,7 @@ var f:file; g:text; + md5f:text; {$IFDEF WINDOWS } dt : TDateTime; DirInfo : TSearchRec; @@ -117,6 +119,7 @@ ref : boolean; s,u : string[100]; sim,zcout : boolean; + md5b : boolean; files : byte; st,n : macrop; dateSet,timeSet : boolean; @@ -213,6 +216,7 @@ writeln (' '+Paramark+'J=Jobfile Dateiliste verwenden, statt lange Argumentliste'+CR); writeln (' '+Paramark+'ZC Neue Dateien als ZConnect-PUFFER erstellen'+CR); writeln (' '+Paramark+'I Interaktiver Modus (Lesen der Dateiinfos von Standard-Input)'+CR); + writeln (' '+Paramark+'MD5 Pruefsummendatei md5sums mit MD5-Summen erstellen'+CR); end; procedure isok(meldung:integer); @@ -442,6 +446,7 @@ {$IFDEF WINDOWS} nc:=false; {$ENDIF} + md5b:=false; end; {$IFDEF BPLFN} @@ -553,6 +558,7 @@ if (copy(s,1,1)=Paramark) then begin s[2]:=UpCase(s[2]); s[3]:=UpCase(s[3]); + s[4]:=UpCase(s[4]); {Parameter gefunden} if (copy(s,2,2)='T=') then begin {Uhrzeit lesen} @@ -657,6 +663,16 @@ Readln(s); end; end; + if (copy(s,2,3)='MD5') then begin + {MD5-Summen einschalten} + md5b:=true; + {$IFDEF unix} + assign(md5f,'md5sums'); + {$ELSE} + assign(md5f,'MD5SUMS'); + {$ENDIF} + if existf(md5f) then append(md5f) else rewrite(md5f); + end; end else newmacro; end; @@ -728,6 +744,9 @@ else fname:=Dir+fname; if fname<>own then begin write(fname); + if md5b then begin + writeln(md5f,md5sum_file(fname)+' *'+fname); + end; {Refdatei nicht touchen} if ref and testname(reffile,fname) then writeln(' Referenz'+CR) else begin @@ -811,9 +830,19 @@ if nc then Readln; DoneWinCrt; {$ENDIF} + if md5b then close(md5f); end. { $Log: touch.pas,v $ + Revision 1.27 2006/04/16 16:15:41 mw + MW: - Bugfix: fehlerhafte Übergabe von Dateinamen an die md5-Funktionen + + Revision 1.26 2006/04/16 15:08:53 mw + MW: - Kleiner Fix (nicht für FreeXP relevant) + + Revision 1.25 2006/04/16 14:13:47 mw + MW: - FreeXP-Extension (MD5-Summe) eingebaut. + Revision 1.24 2006/01/02 09:46:11 mw MW: - Update auf Touch 1.2.3 Index: freexp/build/DOS16/build.bat =================================================================== RCS file: /server/cvs/freexp/build/DOS16/build.bat,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- freexp/build/DOS16/build.bat 2 Apr 2006 13:40:45 -0000 1.43 +++ freexp/build/DOS16/build.bat 16 Apr 2006 16:21:06 -0000 1.44 @@ -1,5 +1,5 @@ @ECHO OFF -:REM $Id: build.bat,v 1.43 2006/04/02 13:40:45 mw Exp $ +:REM $Id: build.bat,v 1.44 2006/04/16 16:21:06 mw Exp $ :REM :REM ╔══════════ BUILD.BAT ═════════════════════════════════════════════════╗ :REM ║ ║ @@ -293,7 +293,7 @@ ECHO ┌────────────────────────────────────────────────────────────────────────┐ ECHO │ Schritt 5: Einheitlichen Timestamp für compilierte Dateien setzen ... │ ECHO └────────────────────────────────────────────────────────────────────────┘ -TOUCH.EXE .\#\*.* /R=..\..\..\COMPDATE.PAS /G +TOUCH.EXE .\#\*.* /R=..\..\..\COMPDATE.PAS /G /MD5 :REM compdate.pas restaurieren CD .. @@ -439,6 +439,9 @@ { $Log: build.bat,v $ + Revision 1.44 2006/04/16 16:21:06 mw + MW: - MD5-Summen in Binärarchiven + Revision 1.43 2006/04/02 13:40:45 mw MW: - Helper wird nach Erstellen von COMPDATE erstellt.
------------------------------------------------------------------------ FreeXP CVS-Mailingliste CVS-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/cvs-list