diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-10-27 10:41:51 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-10-27 10:41:51 +0000 |
commit | 17f3068d4e54457e96e0f735742c7372c65ccf96 (patch) | |
tree | 7c1ee2ed4e586923872d01c1e8c20df9df3f75df /winsup | |
parent | 6aea277648212464155528a9a120ba7b75536159 (diff) | |
download | cygnal-17f3068d4e54457e96e0f735742c7372c65ccf96.tar.gz cygnal-17f3068d4e54457e96e0f735742c7372c65ccf96.tar.bz2 cygnal-17f3068d4e54457e96e0f735742c7372c65ccf96.zip |
* dcrt0.cc (__api_fatal): Drop spare argument to __small_sprintf.
* smallprint.c (__small_vsprintf): Preserve GetLastError value.
* winsup.h (api_fatal): Simplify. Drop duplicate filename arg.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 2 | ||||
-rw-r--r-- | winsup/cygwin/smallprint.c | 5 | ||||
-rw-r--r-- | winsup/cygwin/winsup.h | 2 |
4 files changed, 12 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 622c67db6..28ccb6735 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2006-10-27 Corinna Vinschen <corinna@vinschen.de> + + * dcrt0.cc (__api_fatal): Drop spare argument to __small_sprintf. + * smallprint.c (__small_vsprintf): Preserve GetLastError value. + * winsup.h (api_fatal): Simplify. Drop duplicate filename arg. + 2006-10-23 Corinna Vinschen <corinna@vinschen.de> * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Fix comment. diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index c3f4eace2..2a7b67211 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -1151,7 +1151,7 @@ __api_fatal (const char *fmt, ...) va_list ap; va_start (ap, fmt); - int n = __small_sprintf (buf, "%P: *** fatal error - ", cygwin_pid (GetCurrentProcessId ())); + int n = __small_sprintf (buf, "%P: *** fatal error - "); __small_vsprintf (buf + n, fmt, ap); va_end (ap); strace.prntf (_STRACE_SYSTEM, NULL, "%s", buf); diff --git a/winsup/cygwin/smallprint.c b/winsup/cygwin/smallprint.c index 37c70ee60..915031823 100644 --- a/winsup/cygwin/smallprint.c +++ b/winsup/cygwin/smallprint.c @@ -71,6 +71,8 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) char *orig = dst; const char *s; + DWORD err = GetLastError (); + while (*fmt) { int i, n = 0x7fff; @@ -125,7 +127,7 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) break; case 'E': strcpy (dst, "Win32 error "); - dst = __rn (dst + sizeof ("Win32 error"), 10, 0, GetLastError (), len, pad, LMASK); + dst = __rn (dst + sizeof ("Win32 error"), 10, 0, err, len, pad, LMASK); break; case 'd': dst = rnarg (dst, 10, addsign, len, pad); @@ -180,6 +182,7 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) } } *dst = 0; + SetLastError (err); return dst - orig; } diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index 7382161df..4d103f3ed 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -154,7 +154,7 @@ extern unsigned int signal_shift_subtract; extern int __api_fatal_exit_val; #define set_api_fatal_return(n) do {extern int __api_fatal_exit_val; __api_fatal_exit_val = (n);} while (0) -#define api_fatal(fmt, args...) __api_fatal ("%P: *** " fmt,## args) +#define api_fatal(fmt, args...) __api_fatal (fmt,## args) #undef issep #define issep(ch) (strchr (" \t\n\r", (ch)) != NULL) |