home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 387b.lha / dice_v2.02 / lib / unix / chdir.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-30  |  464 b   |  35 lines

  1.  
  2. /*
  3.  *  chdir.c
  4.  */
  5.  
  6. #include <exec/types.h>
  7. #include <libraries/dos.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. typedef struct FileInfoBlock FIB;
  12.  
  13. int
  14. chdir(path)
  15. const char *path;
  16. {
  17.     int r = -1;
  18.     BPTR lock;
  19.  
  20.     if (lock = Lock(path, SHARED_LOCK)) {
  21.     FIB *fib = malloc(sizeof(FIB));
  22.     if (fib) {
  23.         if (Examine(lock, fib) && fib->fib_DirEntryType > 0) {
  24.         r = 0;
  25.         lock = CurrentDir(lock);
  26.         }
  27.         free(fib);
  28.     }
  29.     UnLock(lock);
  30.     }
  31.     return(r);
  32. }
  33.  
  34.  
  35.