]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - examples/loadables/finfo.c
Imported from ../bash-2.03.tar.gz.
[thirdparty/bash.git] / examples / loadables / finfo.c
index c0b03652a5056f0e02cc56874f745523c70cb61d..ab3c9a411b447dc23c54d3abd6f0f93a4858da76 100644 (file)
@@ -196,6 +196,13 @@ int        m;
                obits[i++] = 'x';
        obits[i] = '\0';
 
+       if (m & S_ISUID)
+               ubits[2] = (m & S_IXUSR) ? 's' : 'S';
+       if (m & S_ISGID)
+               gbits[2] = (m & S_IXGRP) ? 's' : 'S';
+       if (m & S_ISVTX)
+               obits[2] = (m & S_IXOTH) ? 't' : 'T';
+
        printf ("u=%s,g=%s,o=%s", ubits, gbits, obits);
 }
 
@@ -217,6 +224,10 @@ int        mode;
                printf("S_IFLNK ");
        if (S_ISSOCK(mode))
                printf("S_IFSOCK ");
+#ifdef S_ISWHT
+       if (S_ISWHT(mode))
+               printf("S_ISWHT ");
+#endif
        perms(getperm(mode));
        printf("\n");
 }