home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / ThinkCPosix 1.1 / utime.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-21  |  670 b   |  37 lines  |  [TEXT/KAHL]

  1. /* $Id: $ */
  2.  
  3. #include "ThinkCPosix.h"
  4.  
  5. int utime (char *filename,struct utimbuf *times)
  6. {
  7.     CInfoPBRec cipbr;
  8.     HFileInfo *fpb = (HFileInfo*)&cipbr;
  9.     DirInfo *dpb = (DirInfo*)&cipbr;
  10.     unsigned char pname[256];
  11.     short err;
  12.  
  13.     strcpy((char*)pname, filename);
  14.     c2pstr(pname);
  15.  
  16.     dpb->ioDrDirID = 0L;
  17.     fpb->ioNamePtr = pname;
  18.     fpb->ioVRefNum = 0;
  19.     fpb->ioFDirIndex = 0;
  20.     fpb->ioFVersNum = 0;
  21.     err = PBGetCatInfo(&cipbr, FALSE);
  22.     if (err != noErr) {
  23.         errno = ENOENT;
  24.         return -1;
  25.     }
  26.     dpb->ioDrDirID = 0L;
  27.     fpb->ioFlMdDat = times->modtime;
  28.     fpb->ioFlCrDat = times->actime;
  29.     err = PBSetCatInfo(&cipbr, FALSE);
  30.     if (err != noErr) {
  31.         errno = EACCES;
  32.         return -1;
  33.     }
  34.     return 0;
  35. }
  36.  
  37.