diff options
Diffstat (limited to '')
-rw-r--r-- | util/ChangeLog | 7 | ||||
-rw-r--r-- | util/iobuf.c | 30 | ||||
-rw-r--r-- | util/simple-gettext.c | 2 | ||||
-rw-r--r-- | util/strgutil.c | 16 | ||||
-rw-r--r-- | util/ttyio.c | 24 |
5 files changed, 51 insertions, 28 deletions
diff --git a/util/ChangeLog b/util/ChangeLog index 09f2c8356..801b53d66 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,10 @@ +2004-11-03 Timo Schulz <[email protected]> + + * 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 <[email protected]> * strgutil.c (load_libiconv): Use log_info to avoid failures when diff --git a/util/iobuf.c b/util/iobuf.c index 3a8f4619c..0731f3d00 100644 --- a/util/iobuf.c +++ b/util/iobuf.c @@ -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; } diff --git a/util/simple-gettext.c b/util/simple-gettext.c index 8ec6aba16..ed658fa59 100644 --- a/util/simple-gettext.c +++ b/util/simple-gettext.c @@ -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(); diff --git a/util/strgutil.c b/util/strgutil.c index 080914e0a..20faa64f4 100644 --- a/util/strgutil.c +++ b/util/strgutil.c @@ -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*/ + + + diff --git a/util/ttyio.c b/util/ttyio.c index add7467ce..f5b761f14 100644 --- a/util/ttyio.c +++ b/util/ttyio.c @@ -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' ) |