]> err.no Git - util-linux/commitdiff
namei: add to identify FIFO (named pipe) and update manpage
authorLi Zefan <lizf@cn.fujitsu.com>
Mon, 10 Sep 2007 08:20:48 +0000 (16:20 +0800)
committerKarel Zak <kzak@redhat.com>
Wed, 19 Sep 2007 21:14:04 +0000 (23:14 +0200)
namei can't identify FIFO, and it will complain that it's an unknown type.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
misc-utils/namei.1
misc-utils/namei.c

index ad3757469ca2f750334bc1b220183f7301cf4dd3..394eb6dff943e6e43a1f452686710eec4d09c10e 100644 (file)
@@ -33,6 +33,7 @@ outputs a the following characters to identify the file types found:
     s = socket
     b = block device
     c = character device
+    p = FIFO (named pipe)
     - = regular file
     ? = an error of some kind
 .fi
index b0c33e814fcd089cb939deeb40754fbf11f25bb6..948067537f06b2451572a35318d612df25a34e2f 100644 (file)
@@ -30,6 +30,7 @@ For each line output, the program puts a file type first:
     s = socket
     b = block device
     c = character device
+    p = FIFO (named pipe)
     - = regular file
     ? = an error of some kind
 
@@ -46,6 +47,9 @@ chdir to /,  or if it encounters an unknown file type.
 - fixed logic; don't follow the path if a component is not directory
 - fixed infinite loop of symbolic links; stack size is very limited
 
+2007-09-10 Li Zefan <lizf@cn.fujitsu.com>
+- added to identify FIFO
+
 -------------------------------------------------------------*/
 
 #include <stdio.h>
@@ -306,6 +310,13 @@ namei(char *file, int lev, mode_t *lastmode) {
                    (void)printf(" s %s\n", buf);
                break;
 
+               case S_IFIFO:
+               if (mflag)
+                       printf(" p%s %s\n", pperm(stb.st_mode), buf);
+               else
+                       printf(" p %s\n", buf);
+               break;
+
            case S_IFREG:
                if(mflag)
                    (void)printf(" -%s %s\n", pperm(stb.st_mode), buf);