aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/crlcache.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-10-21 14:59:38 +0000
committerWerner Koch <[email protected]>2020-10-21 15:00:32 +0000
commit7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b (patch)
tree3996132036db12b71643a087bee88515cb4bf8dc /dirmngr/crlcache.c
parentw32: Make gnupg_remove and gnupg_rename_file Unicode aware (diff)
downloadgnupg-7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b.tar.gz
gnupg-7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b.zip
common: New functions gnupg_opendir et al.
* common/sysutils.h (struct gnupg_dirent_s): New. * common/sysutils.c: Include dirent.h. (struct gnupg_dir_s): New. (gnupg_opendir, gnupg_readdir, gnupg_closedir): New. Change all callers of opendir, readdir, and closedir to use these functions. -- GnuPG-bug-id: 5098
Diffstat (limited to 'dirmngr/crlcache.c')
-rw-r--r--dirmngr/crlcache.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/dirmngr/crlcache.c b/dirmngr/crlcache.c
index 88b07cd7a..9d18b721f 100644
--- a/dirmngr/crlcache.c
+++ b/dirmngr/crlcache.c
@@ -101,10 +101,6 @@
#ifndef HAVE_W32_SYSTEM
#include <sys/utsname.h>
#endif
-#ifdef MKDIR_TAKES_ONE_ARG
-#undef mkdir
-#define mkdir(a,b) mkdir(a)
-#endif
#include "dirmngr.h"
#include "validate.h"
@@ -206,15 +202,15 @@ get_current_cache (void)
static int
create_directory_if_needed (const char *name)
{
- DIR *dir;
+ gnupg_dir_t dir;
char *fname;
fname = make_filename (opt.homedir_cache, name, NULL);
- dir = opendir (fname);
+ dir = gnupg_opendir (fname);
if (!dir)
{
log_info (_("creating directory '%s'\n"), fname);
- if (mkdir (fname, S_IRUSR|S_IWUSR|S_IXUSR) )
+ if (gnupg_mkdir (fname, "-rwx"))
{
int save_errno = errno;
log_error (_("error creating directory '%s': %s\n"),
@@ -225,7 +221,7 @@ create_directory_if_needed (const char *name)
}
}
else
- closedir (dir);
+ gnupg_closedir (dir);
xfree (fname);
return 0;
}
@@ -237,8 +233,8 @@ static int
cleanup_cache_dir (int force)
{
char *dname = make_filename (opt.homedir_cache, DBDIR_D, NULL);
- DIR *dir;
- struct dirent *de;
+ gnupg_dir_t dir;
+ gnupg_dirent_t de;
int problem = 0;
if (!force)
@@ -251,7 +247,7 @@ cleanup_cache_dir (int force)
}
}
- dir = opendir (dname);
+ dir = gnupg_opendir (dname);
if (!dir)
{
log_error (_("error reading directory '%s': %s\n"),
@@ -260,7 +256,7 @@ cleanup_cache_dir (int force)
return -1;
}
- while ((de = readdir (dir)))
+ while ((de = gnupg_readdir (dir)))
{
if (strcmp (de->d_name, "." ) && strcmp (de->d_name, ".."))
{
@@ -289,7 +285,7 @@ cleanup_cache_dir (int force)
}
}
xfree (dname);
- closedir (dir);
+ gnupg_closedir (dir);
return problem;
}