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
12unsigned int
13ixsysdep_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 indicates an error.  */
29  if ((s.st_mode & 0777) == 0)
30    return 0400;
31
32  return s.st_mode & 0777;
33}
34