Patch from vodz:
[oweals/busybox.git] / libbb / isdirectory.c
index 3dfe10522653e868a536e5fc022e0797ba65cbaf..e9b106aa3933f7f817a67f826fc61d792b35f353 100644 (file)
@@ -20,8 +20,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  */
 
-#include <stdio.h>
-#include <stdlib.h>
 #include <sys/stat.h>
 #include "libbb.h"
 
 int is_directory(const char *fileName, const int followLinks, struct stat *statBuf)
 {
        int status;
-       int didMalloc = 0;
+       struct stat astatBuf;
 
        if (statBuf == NULL) {
-           statBuf = (struct stat *)xmalloc(sizeof(struct stat));
-           ++didMalloc;
+           /* set from auto stack buffer */
+           statBuf = &astatBuf;
        }
 
-       if (followLinks == TRUE)
+       if (followLinks)
                status = stat(fileName, statBuf);
        else
                status = lstat(fileName, statBuf);
@@ -49,10 +47,6 @@ int is_directory(const char *fileName, const int followLinks, struct stat *statB
        }
        else status = TRUE;
 
-       if (didMalloc) {
-           free(statBuf);
-           statBuf = NULL;
-       }
        return status;
 }