aboutsummaryrefslogtreecommitdiffstats
path: root/sm/keydb.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-11-04 14:36:52 +0000
committerWerner Koch <[email protected]>2020-11-04 15:13:04 +0000
commitdabc314b71378f585fac2753149f3358e32ec621 (patch)
tree794801571013593468a401a2622e52705fbf5b36 /sm/keydb.c
parentw32: Add another pinentry search path (diff)
downloadgnupg-dabc314b71378f585fac2753149f3358e32ec621.tar.gz
gnupg-dabc314b71378f585fac2753149f3358e32ec621.zip
common: Fix duplicate implementation of try_make_homedir.
* g10/openfile.c (try_make_homedir): Move core of the code to ... * common/homedir.c (gnupg_maybe_make_homedir): new. * sm/keydb.c (try_make_homedir): Implement using new function. * common/homedir.c: Include i18n.h. * po/POTFILES.in: Add common/homedir.c. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'sm/keydb.c')
-rw-r--r--sm/keydb.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sm/keydb.c b/sm/keydb.c
index 71b98d764..e092e4a01 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -168,33 +168,10 @@ gpgsm_keydb_deinit_session_data (ctrl_t ctrl)
static void
try_make_homedir (const char *fname)
{
- const char *defhome = standard_homedir ();
-
- /* Create the directory only if the supplied directory name is the
- same as the default one. This way we avoid to create arbitrary
- directories when a non-default home directory is used. To cope
- with HOME, we do compare only the suffix if we see that the
- default homedir does start with a tilde. */
if ( opt.dry_run || opt.no_homedir_creation )
return;
- if (
-#ifdef HAVE_W32_SYSTEM
- ( !compare_filenames (fname, defhome) )
-#else
- ( *defhome == '~'
- && (strlen(fname) >= strlen (defhome+1)
- && !strcmp(fname+strlen(fname)-strlen(defhome+1), defhome+1 ) ))
- || (*defhome != '~' && !compare_filenames( fname, defhome ) )
-#endif
- )
- {
- if (gnupg_mkdir (fname, "-rwx"))
- log_info (_("can't create directory '%s': %s\n"),
- fname, strerror(errno) );
- else if (!opt.quiet )
- log_info (_("directory '%s' created\n"), fname);
- }
+ gnupg_maybe_make_homedir (fname, opt.quiet);
}