FpUtime

Set access and modification times of a file (touch).

Declaration

Source position: bunxh.inc line 36

  function FpUtime(path: pChar; times: pUtimBuf) : cint;
  function FpUtime(const path: RawByteString; times: pUtimBuf) : cint;

Description

FpUtime sets the access and modification times of the file specified in Path. the times record contains 2 fields, actime, and modtime, both of type time_t (commonly a longint). They should be filled with an epoch-like time, specifying, respectively, the last access time, and the last modification time. For some file systems (most notably, FAT), these times are the same.

The function returns zero on success, a nonzero return value indicates failure.

Errors

Extended error information can be retrieved using fpGetErrno .

sys_eaccess
One of the directories in Path has no search (=execute) permission.
sys_enoent
A directory entry in Path does not exist or is a symbolic link pointing to a non-existent directory.

Other errors may occur, but aren't documented.

See also

Name Description
FpAccess Check file access
FpChown Change owner of file
FpTime Return the current Unix time

Example

Program Example25;
{ Program to demonstrate the UTime function. }
Uses Dos,BaseUnix,Unix,UnixUtil;
Var utim : utimbuf;
    dow,msec,year,month,day,hour,minute,second : Word;
begin
  { Set access and modification time of executable source }
  GetTime (hour,minute,second,msec);
  GetDate (year,month,day,dow);
  utim.actime:=LocalToEpoch(year,month,day,hour,minute,second);
  utim.modtime:=utim.actime;
  if Fputime('ex25.pp',@utim)<>0 then
    writeln ('Call to UTime failed !')
  else
    begin
    Write ('Set access and modification times to : ');
    Write (Hour:2,':',minute:2,':',second,', ');
    Writeln (Day:2,'/',month:2,'/',year:4);
    end;
end.