summaryrefslogtreecommitdiff
path: root/src/regress/lib/libc/telldir/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/regress/lib/libc/telldir/utils.c')
-rw-r--r--src/regress/lib/libc/telldir/utils.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/regress/lib/libc/telldir/utils.c b/src/regress/lib/libc/telldir/utils.c
new file mode 100644
index 0000000000..6a4101aba3
--- /dev/null
+++ b/src/regress/lib/libc/telldir/utils.c
@@ -0,0 +1,53 @@
1/* $OpenBSD: utils.c,v 1.1 2013/11/03 00:20:24 schwarze Exp $ */
2
3/* Written by Otto Moerbeek, 2006, Public domain. */
4
5#include <sys/types.h>
6#include <sys/stat.h>
7#include <dirent.h>
8#include <err.h>
9#include <fcntl.h>
10#include <limits.h>
11#include <stdio.h>
12#include <string.h>
13#include <unistd.h>
14
15#include "utils.h"
16
17void
18createfiles(int nfiles)
19{
20 int i, fd;
21 char file[PATH_MAX];
22
23 mkdir("d", 0755);
24 for (i = 0; i < nfiles; i++) {
25 snprintf(file, sizeof file, "d/%d", i);
26 if ((fd = open(file, O_CREAT | O_WRONLY, 0600)) == -1)
27 err(1, "open %s", file);
28 close(fd);
29 }
30}
31
32void
33delfiles(void)
34{
35 DIR *dp;
36 struct dirent *f;
37 char file[PATH_MAX];
38
39 dp = opendir("d");
40 if (dp == NULL)
41 err(1, "opendir");
42 while (f = readdir(dp)) {
43 if (strcmp(f->d_name, ".") == 0 ||
44 strcmp(f->d_name, "..") == 0)
45 continue;
46 snprintf(file, sizeof file, "d/%s", f->d_name);
47 if (unlink(file) == -1)
48 err(1, "unlink %s", f->d_name);
49 }
50 closedir(dp);
51 if (rmdir("d") == -1)
52 err(1, "rmdir");
53}