annotate lib/file-type.c @ 3842:bccf7376f3dd

(file_type): New file/function. Extracted from diffutils.
author Jim Meyering <jim@meyering.net>
date Wed, 22 May 2002 07:49:35 +0000
parents
children 135de4cdf74a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3842
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 char const *
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2 file_type (struct stat const *st)
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
3 {
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4 /* See POSIX 1003.1-2001 for these formats.
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 To keep diagnostics grammatical in English, the returned string
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7 must start with a consonant. */
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9 if (S_ISREG (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 return st->st_size == 0 ? _("regular empty file") : _("regular file");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 if (S_ISDIR (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13 return _("directory");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 if (S_ISBLK (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
16 return _("block special file");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
17
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
18 if (S_ISCHR (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 return _("character special file");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
20
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
21 if (S_ISFIFO (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22 return _("fifo");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
24 if (S_ISLNK (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
25 return _("symbolic link");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
26
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
27 if (S_ISSOCK (st->st_mode))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 return _("socket");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30 if (S_TYPEISMQ (st))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 return _("message queue");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33 if (S_TYPEISSEM (st))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 return _("semaphore");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 if (S_TYPEISSHM (st))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 return _("shared memory object");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
39 if (S_TYPEISTMO (st))
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 return _("typed memory object");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
42 return _("weird file");
bccf7376f3dd (file_type): New file/function. Extracted from diffutils.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
43 }