1 /* vi: set sw=4 ts=4: */
2 /*
3  * Utility routines.
4  *
5  * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
6  * Permission has been granted to redistribute this code under GPL.
7  *
8  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
9  */
10 #include "libbb.h"
11 
12 /*
13  * Return TRUE if fileName is a directory.
14  * Nonexistent files return FALSE.
15  */
is_directory(const char * fileName,int followLinks)16 int FAST_FUNC is_directory(const char *fileName, int followLinks)
17 {
18 	int status;
19 	struct stat statBuf;
20 
21 	if (followLinks)
22 		status = stat(fileName, &statBuf);
23 	else
24 		status = lstat(fileName, &statBuf);
25 
26 	status = (status == 0 && S_ISDIR(statBuf.st_mode));
27 
28 	return status;
29 }
30