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)16int 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