new beta-0.90.0
[luatex.git] / source / texk / kpathsea / xstat.c
blob226ca62e983651b9aa315b0d9d281bc46216780d
1 /* xstat.c: stat and (maybe) lstat with error checking.
3 Copyright 1992, 1993, 2008 Karl Berry.
4 Copyright 2005 Olaf Weber.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library 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 GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public License
17 along with this library; if not, see <http://www.gnu.org/licenses/>. */
19 #include <kpathsea/config.h>
21 #include <kpathsea/xstat.h>
24 struct stat
25 xstat (const_string path)
27 struct stat s;
29 if (stat(path, &s) != 0)
30 FATAL_PERROR(path);
32 return s;
36 /* If we don't have symbolic links, lstat is the same as stat, and
37 a #define is made in the include file. */
39 #ifdef S_ISLNK
41 // We declared lstat to prevent a warning during development. This
42 // turns out to be more trouble than it is worth.
43 // extern int lstat ();
45 struct stat
46 xlstat (const_string path)
48 struct stat s;
50 if (lstat(path, &s) != 0)
51 FATAL_PERROR(path);
52 return s;
54 #endif