blob: 3ad17e68316b13a8783c8579188cde82fa4d8279 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdio.h>
#include <sys/stat.h>
int main(int argc, char **argv)
{
if (argc != 2)
return 2;
struct stat s;
stat(argv[1], &s);
// User
printf("%d",
((s.st_mode & S_IRUSR) != 0) * 4 + ((s.st_mode & S_IWUSR) != 0) * 2
+ ((s.st_mode & S_IXUSR) != 0));
printf("%d",
((s.st_mode & S_IRGRP) != 0) * 4 + ((s.st_mode & S_IWGRP) != 0) * 2
+ ((s.st_mode & S_IXGRP) != 0));
printf("%d",
((s.st_mode & S_IROTH) != 0) * 4 + ((s.st_mode & S_IWOTH) != 0) * 2
+ ((s.st_mode & S_IXOTH) != 0));
printf("\n");
return 0;
}
|