- add and use bb_opendir(), bb_xopendir().
text data bss dec hex filename
889445 9392 1035784 1934621 1d851d busybox.gcc-4.2.orig
889297 9392 1035784 1934473 1d8489 busybox.gcc-4.2
889009 9820 1037860 1936689 1d8d31 busybox.gcc-4.1.orig
888817 9820 1037860 1936497 1d8c71 busybox.gcc-4.1
diff --git a/libbb/opendir.c b/libbb/opendir.c
new file mode 100644
index 0000000..e284db0
--- /dev/null
+++ b/libbb/opendir.c
@@ -0,0 +1,37 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * wrapper for opendir()
+ *
+ * Copyright (C) 2006 Bernhard Fischer <busybox@busybox.net>
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
+
+#include <sys/types.h>
+#include <dirent.h>
+#include "libbb.h"
+
+#ifdef L_bb_opendir
+DIR *bb_opendir(const char *path)
+{
+ DIR *dp;
+
+ if ((dp = opendir(path)) == NULL) {
+ bb_perror_msg("unable to open `%s'", path);
+ return NULL;
+ }
+ return dp;
+}
+#endif
+
+#ifdef L_bb_xopendir
+DIR *bb_xopendir(const char *path)
+{
+ DIR *dp;
+
+ if ((dp = opendir(path)) == NULL) {
+ bb_perror_msg_and_die("unable to open `%s'", path);
+ }
+ return dp;
+}
+#endif