Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/file-type.c |
Source code | Switch to Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | /* Return a string describing the type of a file. | - | ||||||
2 | - | |||||||
3 | Copyright (C) 1993-1994, 2001-2002, 2004-2006, 2009-2018 Free Software | - | ||||||
4 | Foundation, Inc. | - | ||||||
5 | - | |||||||
6 | This program is free software: you can redistribute it and/or modify | - | ||||||
7 | it under the terms of the GNU General Public License as published by | - | ||||||
8 | the Free Software Foundation; either version 3 of the License, or | - | ||||||
9 | (at your option) any later version. | - | ||||||
10 | - | |||||||
11 | This program is distributed in the hope that it will be useful, | - | ||||||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | - | ||||||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | - | ||||||
14 | GNU General Public License for more details. | - | ||||||
15 | - | |||||||
16 | You should have received a copy of the GNU General Public License | - | ||||||
17 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | - | ||||||
18 | - | |||||||
19 | /* Written by Paul Eggert. */ | - | ||||||
20 | - | |||||||
21 | #include <config.h> | - | ||||||
22 | - | |||||||
23 | #include "file-type.h" | - | ||||||
24 | - | |||||||
25 | #include <gettext.h> | - | ||||||
26 | #define _(text) gettext (text) | - | ||||||
27 | - | |||||||
28 | char const * | - | ||||||
29 | file_type (struct stat const *st) | - | ||||||
30 | { | - | ||||||
31 | /* See POSIX 1003.1-2001 XCU Table 4-8 lines 17093-17107 for some of | - | ||||||
32 | these formats. | - | ||||||
33 | - | |||||||
34 | To keep diagnostics grammatical in English, the returned string | - | ||||||
35 | must start with a consonant. */ | - | ||||||
36 | - | |||||||
37 | /* Do these three first, as they're the most common. */ | - | ||||||
38 | - | |||||||
39 | if (S_ISREG (st->st_mode))
| 23-28 | ||||||
40 | return st->st_size == 0 ? _("regular empty file") : _("regular file"); executed 23 times by 2 tests: return st->st_size == 0 ? dcgettext (((void *)0), "regular empty file" , 5) : dcgettext (((void *)0), "regular file" , 5) ; Executed by:
| 23 | ||||||
41 | - | |||||||
42 | if (S_ISDIR (st->st_mode))
| 12-16 | ||||||
43 | return _("directory"); executed 16 times by 2 tests: return dcgettext (((void *)0), "directory" , 5) ; Executed by:
| 16 | ||||||
44 | - | |||||||
45 | if (S_ISLNK (st->st_mode))
| 0-12 | ||||||
46 | return _("symbolic link"); executed 12 times by 2 tests: return dcgettext (((void *)0), "symbolic link" , 5) ; Executed by:
| 12 | ||||||
47 | - | |||||||
48 | /* Do the S_TYPEIS* macros next, as they may be implemented in terms | - | ||||||
49 | of S_ISNAM, and we want the more-specialized interpretation. */ | - | ||||||
50 | - | |||||||
51 | if (S_TYPEISMQ (st))
| 0 | ||||||
52 | return _("message queue"); never executed: return dcgettext (((void *)0), "message queue" , 5) ; | 0 | ||||||
53 | - | |||||||
54 | if (S_TYPEISSEM (st))
| 0 | ||||||
55 | return _("semaphore"); never executed: return dcgettext (((void *)0), "semaphore" , 5) ; | 0 | ||||||
56 | - | |||||||
57 | if (S_TYPEISSHM (st))
| 0 | ||||||
58 | return _("shared memory object"); never executed: return dcgettext (((void *)0), "shared memory object" , 5) ; | 0 | ||||||
59 | - | |||||||
60 | if (S_TYPEISTMO (st)) dead code: return dcgettext (((void *)0), "typed memory object" , 5) ; | - | ||||||
61 | return _("typed memory object"); dead code: return dcgettext (((void *)0), "typed memory object" , 5) ; | - | ||||||
62 | - | |||||||
63 | /* The remaining are in alphabetical order. */ | - | ||||||
64 | - | |||||||
65 | if (S_ISBLK (st->st_mode))
| 0 | ||||||
66 | return _("block special file"); never executed: return dcgettext (((void *)0), "block special file" , 5) ; | 0 | ||||||
67 | - | |||||||
68 | if (S_ISCHR (st->st_mode))
| 0 | ||||||
69 | return _("character special file"); never executed: return dcgettext (((void *)0), "character special file" , 5) ; | 0 | ||||||
70 | - | |||||||
71 | if (S_ISCTG (st->st_mode)) dead code: return dcgettext (((void *)0), "contiguous data" , 5) ; | - | ||||||
72 | return _("contiguous data"); dead code: return dcgettext (((void *)0), "contiguous data" , 5) ; | - | ||||||
73 | - | |||||||
74 | if (S_ISFIFO (st->st_mode))
| 0 | ||||||
75 | return _("fifo"); never executed: return dcgettext (((void *)0), "fifo" , 5) ; | 0 | ||||||
76 | - | |||||||
77 | if (S_ISDOOR (st->st_mode)) dead code: return dcgettext (((void *)0), "door" , 5) ; | - | ||||||
78 | return _("door"); dead code: return dcgettext (((void *)0), "door" , 5) ; | - | ||||||
79 | - | |||||||
80 | if (S_ISMPB (st->st_mode)) dead code: return dcgettext (((void *)0), "multiplexed block special file" , 5) ; | - | ||||||
81 | return _("multiplexed block special file"); dead code: return dcgettext (((void *)0), "multiplexed block special file" , 5) ; | - | ||||||
82 | - | |||||||
83 | if (S_ISMPC (st->st_mode)) dead code: return dcgettext (((void *)0), "multiplexed character special file" , 5) ; | - | ||||||
84 | return _("multiplexed character special file"); dead code: return dcgettext (((void *)0), "multiplexed character special file" , 5) ; | - | ||||||
85 | - | |||||||
86 | if (S_ISMPX (st->st_mode)) dead code: return dcgettext (((void *)0), "multiplexed file" , 5) ; | - | ||||||
87 | return _("multiplexed file"); dead code: return dcgettext (((void *)0), "multiplexed file" , 5) ; | - | ||||||
88 | - | |||||||
89 | if (S_ISNAM (st->st_mode)) dead code: return dcgettext (((void *)0), "named file" , 5) ; | - | ||||||
90 | return _("named file"); dead code: return dcgettext (((void *)0), "named file" , 5) ; | - | ||||||
91 | - | |||||||
92 | if (S_ISNWK (st->st_mode)) dead code: return dcgettext (((void *)0), "network special file" , 5) ; | - | ||||||
93 | return _("network special file"); dead code: return dcgettext (((void *)0), "network special file" , 5) ; | - | ||||||
94 | - | |||||||
95 | if (S_ISOFD (st->st_mode)) dead code: return dcgettext (((void *)0), "migrated file with data" , 5) ; | - | ||||||
96 | return _("migrated file with data"); dead code: return dcgettext (((void *)0), "migrated file with data" , 5) ; | - | ||||||
97 | - | |||||||
98 | if (S_ISOFL (st->st_mode)) dead code: return dcgettext (((void *)0), "migrated file without data" , 5) ; | - | ||||||
99 | return _("migrated file without data"); dead code: return dcgettext (((void *)0), "migrated file without data" , 5) ; | - | ||||||
100 | - | |||||||
101 | if (S_ISPORT (st->st_mode)) dead code: return dcgettext (((void *)0), "port" , 5) ; | - | ||||||
102 | return _("port"); dead code: return dcgettext (((void *)0), "port" , 5) ; | - | ||||||
103 | - | |||||||
104 | if (S_ISSOCK (st->st_mode))
| 0 | ||||||
105 | return _("socket"); never executed: return dcgettext (((void *)0), "socket" , 5) ; | 0 | ||||||
106 | - | |||||||
107 | if (S_ISWHT (st->st_mode)) dead code: return dcgettext (((void *)0), "whiteout" , 5) ; | - | ||||||
108 | return _("whiteout"); dead code: return dcgettext (((void *)0), "whiteout" , 5) ; | - | ||||||
109 | - | |||||||
110 | return _("weird file"); never executed: return dcgettext (((void *)0), "weird file" , 5) ; | 0 | ||||||
111 | } | - | ||||||
Source code | Switch to Preprocessed file |