home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / uucp / Uucp.framework / unix.subproj / mode.c < prev    next >
C/C++ Source or Header  |  1995-10-09  |  575b  |  34 lines

  1. /* mode.c
  2.    Get the Unix file mode of a file.  */
  3.  
  4. #include "uucp.h"
  5.  
  6. #include "uudefs.h"
  7. #include "sysdep.h"
  8. #include "system.h"
  9.  
  10. #include <errno.h>
  11.  
  12. unsigned int
  13. ixsysdep_file_mode (zfile)
  14.      const char *zfile;
  15. {
  16.   struct stat s;
  17.  
  18.   if (stat ((char *) zfile, &s) != 0)
  19.     {
  20.       ulog (LOG_ERROR, "stat (%s): %s", zfile, strerror (errno));
  21.       return 0;
  22.     }
  23.  
  24. #if S_IRWXU != 0700
  25.  #error Files modes need to be translated
  26. #endif
  27.  
  28.   /* We can't return 0, since that indicate an error.  */
  29.   if ((s.st_mode & 0777) == 0)
  30.     return 0400;
  31.  
  32.   return s.st_mode & 0777;
  33. }
  34.