util: Make xmlconfig.c build on Solaris without d_type in dirent (v2)
v2: check for lstat() failing
Fixes: 04bdbbcab3
"xmlconfig: read more config files from drirc.d/"
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Roland Mainz <roland.mainz@nrubsig.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:

committed by
Ian Romanick

parent
084cf3b966
commit
066850edad
@@ -938,8 +938,16 @@ parseOneConfigFile(struct OptConfData *data, const char *filename)
|
||||
static int
|
||||
scandir_filter(const struct dirent *ent)
|
||||
{
|
||||
#ifndef DT_REG /* systems without d_type in dirent results */
|
||||
struct stat st;
|
||||
|
||||
if ((lstat(ent->d_name, &st) != 0) ||
|
||||
(!S_ISREG(st.st_mode) && !S_ISLNK(st.st_mode)))
|
||||
return 0;
|
||||
#else
|
||||
if (ent->d_type != DT_REG && ent->d_type != DT_LNK)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
if (fnmatch("*.conf", ent->d_name, 0))
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user