394eebed66
lpr: more robust error reporting *: introduce and use xchroot libbb: full_read/write now will report partial data counts prior to error isdirectory.c: style fixes lpd_main 249 486 +237 xchroot - 29 +29 get_response_or_say_and_die 110 139 +29 full_write 52 60 +8 full_read 55 63 +8 static.newline 1 - -1 switch_root_main 404 400 -4 chpst_main 1089 1079 -10 getopt32 1370 1359 -11 chroot_main 115 101 -14 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 4/4 up/down: 311/-40) Total: 271 bytes text data bss dec hex filename 798472 728 7484 806684 c4f1c busybox_old 798775 728 7484 806987 c504b busybox_unstripped
37 lines
786 B
C
37 lines
786 B
C
/* vi: set sw=4 ts=4: */
|
|
/*
|
|
* Utility routines.
|
|
*
|
|
* Based in part on code from sash, Copyright (c) 1999 by David I. Bell
|
|
* Permission has been granted to redistribute this code under the GPL.
|
|
*
|
|
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
|
|
*/
|
|
|
|
#include <sys/stat.h>
|
|
#include "libbb.h"
|
|
|
|
/*
|
|
* Return TRUE if fileName is a directory.
|
|
* Nonexistent files return FALSE.
|
|
*/
|
|
int is_directory(const char *fileName, const int followLinks, struct stat *statBuf)
|
|
{
|
|
int status;
|
|
struct stat astatBuf;
|
|
|
|
if (statBuf == NULL) {
|
|
/* use auto stack buffer */
|
|
statBuf = &astatBuf;
|
|
}
|
|
|
|
if (followLinks)
|
|
status = stat(fileName, statBuf);
|
|
else
|
|
status = lstat(fileName, statBuf);
|
|
|
|
status = (status == 0 && S_ISDIR(statBuf->st_mode));
|
|
|
|
return status;
|
|
}
|