Subversion Repositories svn.Prod repos

Rev

Blame | Last modification | View Log | RSS feed

  1. #include <stdio.h>
  2. #include <sys/stat.h>
  3.  
  4. // ============================================================================
  5. // Functions
  6. // ============================================================================
  7.  
  8. // functions return 1 if true
  9.  
  10. int testfile(char *file, unsigned type)
  11. {
  12.         int returnvalue;
  13.  
  14.         struct stat buf;
  15.         if (lstat (file, &buf) == 0)
  16.         {
  17.                 // its a file, test if a synlink
  18.                 returnvalue = (( buf.st_mode & S_IFMT) == type);
  19.         }
  20.         else
  21.         {
  22.                 // its not even a file
  23.                 returnvalue = 0;
  24.         }      
  25.         return returnvalue;
  26. }
  27.  
  28. int isregular(char *file)       { return testfile(file, S_IFREG); }
  29. int issymlink(char *file)       { return testfile(file, S_IFLNK); }
  30. int isdir(char *file)           { return testfile(file, S_IFDIR); }
  31.