CVS daily diff
FreeXP CVS-Server
cvs-list at freexp.de
Son Mai 30 00:00:21 CEST 2004
Index: freexp/touch.pas
===================================================================
RCS file: /server/cvs/freexp/touch.pas,v
retrieving revision 1.7
retrieving revision 1.10
diff -u -r1.7 -r1.10
--- a/freexp/touch.pas 23 Sep 2003 17:26:11 -0000 1.7
+++ b/freexp/touch.pas 29 May 2004 07:43:56 -0000 1.10
@@ -1,6 +1,6 @@
{ --------------------------------------------------------------- }
{ Dieser Quelltext ist urheberrechtlich geschuetzt. }
-{ (c) 2003 Martin Wodrich, http://www.martinwodrich.de }
+{ (c) 2003-2004 Martin Wodrich, http://www.martinwodrich.de }
{ software at martinwodrich.de }
{ }
{ Dieser Quelltext darf FreeXP beigelegt werden und ist dort }
@@ -14,7 +14,7 @@
{ finden Sie in der Datei TOUCH.TXT oder auf }
{ http://www.martinwodrich.de/Software/Touch/nutzung.htm }
{ --------------------------------------------------------------- }
-{ $Id: touch.pas,v 1.7 2003/09/23 17:26:11 mw Exp $ }
+{ $Id: touch.pas,v 1.10 2004/05/29 07:43:56 mw Exp $ }
program touch;
{Erstmal einiges definieren}
@@ -47,7 +47,7 @@
end;
const anyfile=$21;
- version='1.1 Beta 1';
+ version='1.1 Beta 2';
var f:file;
g:text;
@@ -64,7 +64,7 @@
{$ELSE }
dt : DateTime;
DirInfo : SearchRec;
- FName : Pathstr;
+ FName,own : Pathstr;
Dir : DirStr;
Name : NameStr;
Ext : ExtStr;
@@ -82,10 +82,29 @@
dateSet,timeSet : boolean;
findone,uc,nt : boolean;
+function ownfile:Pathstr;
+var ps : pathstr;
+ ds : string;
+ ns : string;
+ es : string;
+begin
+ FName:=paramstr(0);
+ {$IFDEF WINDOWS }
+ StrPCopy(fnamep,fname);
+ FileExpand(Dir,fnamep);
+ StrCopy(Dir,fnamep);
+ fname:=StrPas(fnamep);
+ {$ELSE}
+ fname:=FExpand(fname);
+ {$ENDIF}
+ ownfile:=fname;
+end;
+
procedure logo;
begin
writeln (g,'Touch '+version+' (c) 2003 by Martin Wodrich');
writeln (g,'');
+ own:=ownfile;
end;
procedure hilfe;
@@ -519,33 +538,35 @@
end
{$ENDIF}
else fname:=Dir+fname;
- write(g,fname);
- {Refdatei nicht touchen}
- if ref and testname(reffile,fname) then writeln(g,' Referenz')
- else begin
- if (sim=false) then begin
- Assign(f,fname);
- if (nt and uc) then GetFtime(f,ftime);
- {$I-}
- if uc then begin
- rename(f,'temp.$$$');
- if IOResult <> 0 then writeln(g,' Umbenennen der Datei fehlgeschlagen');
- for i:=1 to length(fname) do fname[i]:=upcase(fname[i]);
- rename(f,fname);
- if IOResult <> 0 then begin
- writeln(g,' Umbenennen der Datei kritisch fehlgeschlagen');
- halt(1);
- end;
- end;
- Reset(f,1);
- {$I+}
- if IOResult <> 0 then writeln(g,' Oeffnen der Datei fehlgeschlagen');
- if not (nt and uc) then ftime:=Testtime(ftime,dateset,timeset);
- SetFtime(f,Ftime);
- if Doserror<>0 then writeln(g,'!') else writeln(g,'');
- close(f);
- end
- else writeln(g,'');
+ if fname<>own then begin
+ write(g,fname);
+ {Refdatei nicht touchen}
+ if ref and testname(reffile,fname) then writeln(g,' Referenz')
+ else begin
+ if (sim=false) then begin
+ Assign(f,fname);
+ if (nt and uc) then GetFtime(f,ftime);
+ {$I-}
+ if uc then begin
+ rename(f,'temp.$$$');
+ if IOResult <> 0 then writeln(g,' Umbenennen der Datei fehlgeschlagen');
+ for i:=1 to length(fname) do fname[i]:=upcase(fname[i]);
+ rename(f,fname);
+ if IOResult <> 0 then begin
+ writeln(g,' Umbenennen der Datei kritisch fehlgeschlagen');
+ halt(1);
+ end;
+ end;
+ Reset(f,1);
+ {$I+}
+ if IOResult <> 0 then writeln(g,' Oeffnen der Datei fehlgeschlagen');
+ if not (nt and uc) then ftime:=Testtime(ftime,dateset,timeset);
+ SetFtime(f,Ftime);
+ if Doserror<>0 then writeln(g,'!') else writeln(g,'');
+ close(f);
+ end
+ else writeln(g,'');
+ end;
end;
{$IFNDEF BP}
FindNext(DirInfo);
@@ -590,9 +611,16 @@
end.
{
$Log: touch.pas,v $
+ Revision 1.10 2004/05/29 07:43:56 mw
+ MW: - Logkosmetik
+
+ Revision 1.9 2004/05/29 07:33:12 mw
+ MW: - Übernahme von Touch 1.1 Beta 2:
+ - Touch erkennt sich jetzt selbst und versucht daher nicht
+ mehr sich selbst zu touchen oder gar großzuschreiben.
+
Revision 1.7 2003/09/23 17:26:11 mw
MW: - Übernahme von Touch 1.1 Beta 1:
- - Touch benutzt jetzt die Standardausgabe udn ist damit
+ - Touch benutzt jetzt die Standardausgabe und ist damit
per Ausgabeumleitung verfolgbar.
-
}
Mehr Informationen über die CVS-List Mailingliste