lstat64:: use Posix st_mode defines
[xfstests-dev.git] / src / lstat64.c
index 12d1fe4e995004d9fdc42935ba60722f611e37a4..c8a0cc6c05b129bde1ce039b8ed9a624a4086f41 100644 (file)
@@ -57,7 +57,6 @@ int
 main(int argc, char **argv)
 {
        struct stat64   sbuf;
-       char            mode[10];
        int             i, c;
        int             terse_flag = 0;
 
@@ -78,6 +77,7 @@ main(int argc, char **argv)
        time(&timebuf);
 
        for (i = optind; i < argc; i++) {
+               char mode[] = "----------";
 
                if( lstat64(argv[i], &sbuf) < 0) {
                        perror(argv[i]);
@@ -92,24 +92,23 @@ main(int argc, char **argv)
                        printf("  Size: %-10llu", (unsigned long long)sbuf.st_size);
                }
 
-               strcpy(mode,"----------");
-               if (sbuf.st_mode & (S_IEXEC>>6))
+               if (sbuf.st_mode & S_IXOTH)
                        mode[9] = 'x';
-               if (sbuf.st_mode & (S_IWRITE>>6))
+               if (sbuf.st_mode & S_IWOTH)
                        mode[8] = 'w';
-               if (sbuf.st_mode & (S_IREAD>>6))
+               if (sbuf.st_mode & S_IROTH)
                        mode[7] = 'r';
-               if (sbuf.st_mode & (S_IEXEC>>3))
+               if (sbuf.st_mode & S_IXGRP)
                        mode[6] = 'x';
-               if (sbuf.st_mode & (S_IWRITE>>3))
+               if (sbuf.st_mode & S_IWGRP)
                        mode[5] = 'w';
-               if (sbuf.st_mode & (S_IREAD>>3))
+               if (sbuf.st_mode & S_IRGRP)
                        mode[4] = 'r';
-               if (sbuf.st_mode & S_IEXEC)
+               if (sbuf.st_mode & S_IXUSR)
                        mode[3] = 'x';
-               if (sbuf.st_mode & S_IWRITE)
+               if (sbuf.st_mode & S_IWUSR)
                        mode[2] = 'w';
-               if (sbuf.st_mode & S_IREAD)
+               if (sbuf.st_mode & S_IRUSR)
                        mode[1] = 'r';
                if (sbuf.st_mode & S_ISVTX)
                        mode[9] = 't';