mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
common,w32: Add missing GetLastError->errno mapping.
* common/iobuf.c (file_filter, sock_filter): Add missing mapping. -- GnuPG-bug-id: 6528 (cherry picked from commit 5e94470d053ec93f79acb03635e67839a5a1e6a8) Also includes commit a3be97df4ddfce008dcc6e877e9fb98c71656ec6
This commit is contained in:
parent
bb157044a0
commit
1e9ac18f88
@ -542,8 +542,8 @@ file_filter (void *opaque, int control, iobuf_t chain, byte * buf,
|
||||
{
|
||||
if (size && !WriteFile (f, p, nbytes, &n, NULL))
|
||||
{
|
||||
int ec = (int) GetLastError ();
|
||||
rc = gpg_error_from_errno (ec);
|
||||
int ec = gnupg_w32_set_errno (-1);
|
||||
rc = gpg_error_from_syserror ();
|
||||
log_error ("%s: write error: %s (ec=%d)\n",
|
||||
a->fname, gpg_strerror (rc), ec);
|
||||
break;
|
||||
@ -820,7 +820,8 @@ sock_filter (void *opaque, int control, iobuf_t chain, byte * buf,
|
||||
if (n == SOCKET_ERROR)
|
||||
{
|
||||
int ec = (int) WSAGetLastError ();
|
||||
rc = gpg_error_from_errno (ec);
|
||||
gnupg_w32_set_errno (ec);
|
||||
rc = gpg_error_from_syserror ();
|
||||
log_error ("socket write error: ec=%d\n", ec);
|
||||
break;
|
||||
}
|
||||
|
@ -319,15 +319,17 @@ map_w32_to_errno (DWORD w32_err)
|
||||
#endif /*HAVE_W32_SYSTEM*/
|
||||
|
||||
|
||||
/* Set ERRNO from the Windows error. EC may be -1 to use the last error. */
|
||||
/* Set ERRNO from the Windows error. EC may be -1 to use the last
|
||||
* error. Returns the Windows error code. */
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
void
|
||||
int
|
||||
gnupg_w32_set_errno (int ec)
|
||||
{
|
||||
/* FIXME: Replace by gpgrt_w32_set_errno. */
|
||||
if (ec == -1)
|
||||
ec = GetLastError ();
|
||||
_set_errno (map_w32_to_errno (ec));
|
||||
return ec;
|
||||
}
|
||||
#endif /*HAVE_W32_SYSTEM*/
|
||||
|
||||
|
@ -107,7 +107,7 @@ int gnupg_inotify_has_name (int fd, const char *name);
|
||||
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
void gnupg_w32_set_errno (int ec);
|
||||
int gnupg_w32_set_errno (int ec);
|
||||
void *w32_get_user_sid (void);
|
||||
|
||||
#include "../common/w32help.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user