1/* $OpenBSD: utils.c,v 1.2 2017/07/27 15:08:37 bluhm 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} 54