浏览代码

+ Added missing FileSetDate call

git-svn-id: trunk@403 -
michael 20 年之前
父节点
当前提交
d2d33c03fb
共有 3 个文件被更改,包括 36 次插入0 次删除
  1. 1 0
      rtl/objpas/sysutils/filutilh.inc
  2. 19 0
      rtl/objpas/sysutils/sysutils.inc
  3. 16 0
      rtl/unix/sysutils.pp

+ 1 - 0
rtl/objpas/sysutils/filutilh.inc

@@ -83,6 +83,7 @@ Function FindNext (Var Rslt : TSearchRec) : Longint;
 Procedure FindClose (Var F : TSearchrec);
 Function FileGetDate (Handle : Longint) : Longint;
 Function FileSetDate (Handle,Age : Longint) : Longint;
+Function FileSetDate (Const FileName : String;Age : Longint) : Longint;
 Function FileGetAttr (Const FileName : String) : Longint;
 Function FileSetAttr (Const Filename : String; Attr: longint) : Longint;
 Function DeleteFile (Const FileName : String) : Boolean;

+ 19 - 0
rtl/objpas/sysutils/sysutils.inc

@@ -54,6 +54,25 @@
   {$endif OS_FILEISREADONLY}
 
 
+  {$ifndef OS_FILESETDATEBYNAME}
+  Function FileSetDate (Const FileName : String;Age : Longint) : Longint;
+  
+  Var
+    fd : longint;
+    
+  begin
+    fd:=FileOpen(FileName,fmOpenRead);
+    If (Fd>=0) then
+      try
+        Result:=FileSetDate(fd,Age);
+      finally
+        FileClose(fd);
+      end
+    else
+      Result:=Fd;  
+  end;  
+  {$endif}
+
   { Read String Handling functions implementation }
   {$i sysstr.inc}
 

+ 16 - 0
rtl/unix/sysutils.pp

@@ -20,6 +20,7 @@ interface
 { force ansistrings }
 {$H+}
 
+{$DEFINE OS_FILESETDATEBYNAME}
 {$DEFINE HAS_SLEEP}
 {$DEFINE HAS_OSERROR}
 {$DEFINE HAS_OSCONFIG}
@@ -646,6 +647,19 @@ begin
   Result := fpAccess(PChar(FileName),W_OK)<>0;
 end;
 
+Function FileSetDate (Const FileName : String;Age : Longint) : Longint;
+
+var
+  t: TUTimBuf;
+  
+begin
+  Result := 0;
+  t.actime := Age;
+  t.modtime := Age;
+  if fputime(PChar(FileName), @t) = -1 then
+    Result := fpgeterrno;
+end;
+
 {****************************************************************************
                               Disk Functions
 ****************************************************************************}
@@ -1023,6 +1037,8 @@ begin
   Result:=fpgetErrNo;
 end;
 
+
+
 { ---------------------------------------------------------------------
     Application config files
   ---------------------------------------------------------------------}