mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
Replace all calls to access by gnupg_access
* common/sysutils.c (gnupg_access): New. Replace all calls to access
by this wrapper.
* common/homedir.c (w32_shgetfolderpath): Change to return UTF-8
directory name.
(standard_homedir): Adjust for change.
(w32_commondir, gnupg_cachedir): Ditto.
--
Also use SHGetFolderPathW instead of SHGetFolderPathA on Windows.
This is required to correctly handle non-ascii filenames on Windows.
GnuPG-bug-id: 5098
(cherry picked from commit c94ee1386e
)
This commit is contained in:
parent
25bec16d0b
commit
dd5fd4a760
28 changed files with 163 additions and 115 deletions
|
@ -228,7 +228,7 @@ keyring_is_writable (void *token)
|
|||
{
|
||||
KR_RESOURCE r = token;
|
||||
|
||||
return r? (r->read_only || !access (r->fname, W_OK)) : 0;
|
||||
return r? (r->read_only || !gnupg_access (r->fname, W_OK)) : 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1606,6 +1606,7 @@ static int
|
|||
do_copy (int mode, const char *fname, KBNODE root,
|
||||
off_t start_offset, unsigned int n_packets )
|
||||
{
|
||||
gpg_err_code_t ec;
|
||||
IOBUF fp, newfp;
|
||||
int rc=0;
|
||||
char *bakfname = NULL;
|
||||
|
@ -1613,8 +1614,8 @@ do_copy (int mode, const char *fname, KBNODE root,
|
|||
|
||||
/* Open the source file. Because we do a rename, we have to check the
|
||||
permissions of the file */
|
||||
if (access (fname, W_OK))
|
||||
return gpg_error_from_syserror ();
|
||||
if ((ec = gnupg_access (fname, W_OK)))
|
||||
return gpg_error (ec);
|
||||
|
||||
fp = iobuf_open (fname);
|
||||
if (mode == 1 && !fp && errno == ENOENT) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue