source:
MondoRescue/branches/2.2.9/mindi-busybox/libbb/isdirectory.c@
3770
| Last change on this file since 3770 was 3320, checked in by , 11 years ago | |
|---|---|
|
|
| File size: 778 bytes | |
| Rev | Line | |
|---|---|---|
| [3320] | 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 | ||
| 11 | #include <sys/stat.h> | |
| 12 | #include "libbb.h" | |
| 13 | ||
| 14 | /* | |
| 15 | * Return TRUE if fileName is a directory. | |
| 16 | * Nonexistent files return FALSE. | |
| 17 | */ | |
| 18 | int FAST_FUNC is_directory(const char *fileName, int followLinks, struct stat *statBuf) | |
| 19 | { | |
| 20 | int status; | |
| 21 | struct stat astatBuf; | |
| 22 | ||
| 23 | if (statBuf == NULL) { | |
| 24 | /* use auto stack buffer */ | |
| 25 | statBuf = &astatBuf; | |
| 26 | } | |
| 27 | ||
| 28 | if (followLinks) | |
| 29 | status = stat(fileName, statBuf); | |
| 30 | else | |
| 31 | status = lstat(fileName, statBuf); | |
| 32 | ||
| 33 | status = (status == 0 && S_ISDIR(statBuf->st_mode)); | |
| 34 | ||
| 35 | return status; | |
| 36 | } |
Note:
See TracBrowser
for help on using the repository browser.
