1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

2004-11-03 Timo Schulz <twoaday@g10code.com>

* strgutil.c (w32_strerror): New.
        * ttyio.c (init_ttyfp, tty_printf, do_get): Use it here.
        * iobuf.c (fd_cache_open, file_filter): Likewise.
        (iobuf_seek, translate_file_handle): Likewise.
This commit is contained in:
Timo Schulz 2004-11-03 20:03:46 +00:00
parent b467558d9e
commit 37ecd725e5
14 changed files with 155 additions and 104 deletions

View file

@ -1,3 +1,10 @@
2004-11-03 Timo Schulz <twoaday@g10code.com>
* strgutil.c (w32_strerror): New.
* ttyio.c (init_ttyfp, tty_printf, do_get): Use it here.
* iobuf.c (fd_cache_open, file_filter): Likewise.
(iobuf_seek, translate_file_handle): Likewise.
2004-11-02 Werner Koch <wk@g10code.com>
* strgutil.c (load_libiconv): Use log_info to avoid failures when

View file

@ -287,8 +287,8 @@ fd_cache_open (const char *fname, const char *mode)
log_debug ("fd_cache_open (%s) using cached fp\n", fname);
#ifdef HAVE_DOSISH_SYSTEM
if (SetFilePointer (fp, 0, NULL, FILE_BEGIN) == 0xffffffff ) {
log_error ("rewind file failed on handle %p: ec=%d\n",
fp, (int)GetLastError () );
log_error ("rewind file failed on handle %p: %s\n",
fp, w32_strerror (errno));
fp = INVALID_FP;
}
#else
@ -404,9 +404,9 @@ file_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
nbytes = 0;
if ( !ReadFile ( f, buf, size, &nread, NULL ) ) {
int ec = (int)GetLastError ();
if ( ec != ERROR_BROKEN_PIPE ) {
log_error("%s: read error: ec=%d\n", a->fname, ec);
if ((int)GetLastError () != ERROR_BROKEN_PIPE) {
log_error ("%s: read error: %s\n", a->fname,
w32_strerror (0));
rc = G10ERR_READ_FILE;
}
}
@ -452,9 +452,9 @@ file_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
nbytes = size;
do {
if ( size && !WriteFile ( f, p, nbytes, &n, NULL) ) {
int ec = (int)GetLastError ();
log_error("%s: write error: ec=%d\n", a->fname, ec);
if (size && !WriteFile (f, p, nbytes, &n, NULL)) {
log_error ("%s: write error: %s\n", a->fname,
w32_strerror (0));
rc = G10ERR_WRITE_FILE;
break;
}
@ -1835,10 +1835,10 @@ iobuf_get_filelength( IOBUF a )
#if defined(HAVE_DOSISH_SYSTEM) && !defined(FILE_FILTER_USES_STDIO)
ulong size;
if ( (size=GetFileSize (fp, NULL)) != 0xffffffff )
if ((size=GetFileSize (fp, NULL)) != 0xffffffff)
return size;
log_error ("GetFileSize for handle %p failed: ec=%d\n",
fp, (int)GetLastError () );
log_error ("GetFileSize for handle %p failed: %s\n",
fp, w32_strerror (0));
#else
if( !fstat(my_fileno(fp), &st) )
return st.st_size;
@ -1945,8 +1945,8 @@ iobuf_seek( IOBUF a, off_t newpos )
#else
#ifdef HAVE_DOSISH_SYSTEM
if (SetFilePointer (b->fp, newpos, NULL, FILE_BEGIN) == 0xffffffff ) {
log_error ("SetFilePointer failed on handle %p: ec=%d\n",
b->fp, (int)GetLastError () );
log_error ("SetFilePointer failed on handle %p: %s\n",
b->fp, w32_strerror (0));
return -1;
}
#else
@ -2143,8 +2143,8 @@ translate_file_handle ( int fd, int for_write )
x = fd;
if (x == -1)
log_debug ("GetStdHandle(%d) failed: ec=%d\n",
fd, (int)GetLastError () );
log_debug ("GetStdHandle(%d) failed: %s\n",
fd, w32_strerror (0));
fd = x;
}

View file

@ -427,7 +427,7 @@ gettext( const char *msgid )
log_info("InputCP=%u OutputCP=%u\n", cp1, cp2 );
if( !SetConsoleOutputCP( 1252 ) )
log_info("SetConsoleOutputCP failed: %d\n", (int)GetLastError() );
log_info("SetConsoleOutputCP failed: %s\n", w32_strerror (0));
cp1 = GetConsoleCP();
cp2 = GetConsoleOutputCP();

View file

@ -1260,4 +1260,20 @@ asprintf (char **buf, const char *fmt, ...)
return status;
}
const char *
w32_strerror (int w32_errno)
{
static char strerr[256];
int ec = (int)GetLastError ();
if (w32_errno == 0)
w32_errno = ec;
FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, NULL, w32_errno,
MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
strerr, DIM (strerr)-1, NULL);
return strerr;
}
#endif /*_WIN32*/

View file

@ -140,15 +140,15 @@ init_ttyfp(void)
FILE_SHARE_READ|FILE_SHARE_WRITE,
&sa, OPEN_EXISTING, 0, 0 );
if( con.out == INVALID_HANDLE_VALUE )
log_fatal("open(CONOUT$) failed: rc=%d", (int)GetLastError() );
log_fatal ("open(CONOUT$) failed: %s", w32_strerror (0));
memset(&sa, 0, sizeof(sa));
sa.nLength = sizeof(sa);
sa.bInheritHandle = TRUE;
con.in = CreateFileA( "CONIN$", GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
&sa, OPEN_EXISTING, 0, 0 );
if( con.in == INVALID_HANDLE_VALUE )
log_fatal("open(CONIN$) failed: rc=%d", (int)GetLastError() );
if (con.in == INVALID_HANDLE_VALUE)
log_fatal ("open(CONIN$) failed: %s", w32_strerror (0));
}
SetConsoleMode(con.in, DEF_INPMODE );
SetConsoleMode(con.out, DEF_OUTMODE );
@ -212,10 +212,10 @@ tty_printf( const char *fmt, ... )
if( !buf )
log_bug("vasprintf() failed\n");
if( !WriteConsoleA( con.out, buf, n, &nwritten, NULL ) )
log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
if (!WriteConsoleA (con.out, buf, n, &nwritten, NULL))
log_fatal ("WriteConsole failed: %s", w32_strerror (0));
if( n != nwritten )
log_fatal("WriteConsole failed: %d != %d\n", n, (int)nwritten );
log_fatal ("WriteConsole failed: %d != %d\n", n, (int)nwritten );
last_prompt_len += n;
m_free (buf);
}
@ -259,10 +259,10 @@ tty_fprintf (FILE *fp, const char *fmt, ... )
if( !buf )
log_bug("vasprintf() failed\n");
if( !WriteConsoleA( con.out, buf, n, &nwritten, NULL ) )
log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
if( n != nwritten )
log_fatal("WriteConsole failed: %d != %d\n", n, (int)nwritten );
if (!WriteConsoleA (con.out, buf, n, &nwritten, NULL))
log_fatal ("WriteConsole failed: %s", w32_strerror (0));
if (n != nwritten)
log_fatal ("WriteConsole failed: %d != %d\n", n, (int)nwritten);
last_prompt_len += n;
xfree (buf);
}
@ -387,8 +387,8 @@ do_get( const char *prompt, int hidden )
for(;;) {
DWORD nread;
if( !ReadConsoleA( con.in, cbuf, 1, &nread, NULL ) )
log_fatal("ReadConsole failed: rc=%d", (int)GetLastError() );
if (!ReadConsoleA (con.in, cbuf, 1, &nread, NULL))
log_fatal ("ReadConsole failed: %s", w32_strerror (0));
if( !nread )
continue;
if( *cbuf == '\n' )