source: branches/stable/mindi-busybox/libbb/isdirectory.c @ 821

Last change on this file since 821 was 821, checked in by bruno, 13 years ago

Addition of busybox 1.2.1 as a mindi-busybox new package
This should avoid delivering binary files in mindi not built there (Fedora and Debian are quite serious about that)

File size: 841 bytes
Line 
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 the GPL.
7 *
8 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
9 */
10
11#include <sys/stat.h>
12#include "libbb.h"
13
14/*
15 * Return TRUE if a fileName is a directory.
16 * Nonexistent files return FALSE.
17 */
18int is_directory(const char *fileName, const int followLinks, struct stat *statBuf)
19{
20    int status;
21    struct stat astatBuf;
22
23    if (statBuf == NULL) {
24        /* set from 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    if (status < 0 || !(S_ISDIR(statBuf->st_mode))) {
34        status = FALSE;
35    }
36    else status = TRUE;
37
38    return status;
39}
Note: See TracBrowser for help on using the repository browser.