summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_USING_C/04.2.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/OR_USING_C/04.2.c')
-rw-r--r--reference/C/CONTRIB/OR_USING_C/04.2.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_USING_C/04.2.c b/reference/C/CONTRIB/OR_USING_C/04.2.c
new file mode 100644
index 0000000..2f2cde2
--- /dev/null
+++ b/reference/C/CONTRIB/OR_USING_C/04.2.c
@@ -0,0 +1,34 @@
+/*
+ * For use with 4.2 and 4.3BSD systems.
+ */
+#include <sys/types.h>
+#include <sys/dir.h>
+#include <stdio.h>
+
+main()
+{
+ DIR *dp;
+ struct direct *dir;
+
+ if ((dp = opendir(".")) == NULL) {
+ fprintf(stderr, "cannot open directory.\n");
+ exit(1);
+ }
+
+ /*
+ * Read entries...
+ */
+ while ((dir = readdir(dp)) != NULL) {
+ /*
+ * Skip removed files.
+ */
+ if (dir->d_ino == 0)
+ continue;
+
+ printf("%s\n", dir->d_name);
+ }
+
+ closedir(dp);
+ exit(0);
+}
+