OSDN Git Service

* dcrt0.cc (__api_fatal): Drop spare argument to __small_sprintf.
authorcorinna <corinna>
Fri, 27 Oct 2006 10:41:51 +0000 (10:41 +0000)
committercorinna <corinna>
Fri, 27 Oct 2006 10:41:51 +0000 (10:41 +0000)
* smallprint.c (__small_vsprintf): Preserve GetLastError value.
* winsup.h (api_fatal): Simplify.  Drop duplicate filename arg.

winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/smallprint.c
winsup/cygwin/winsup.h

index 622c67d..28ccb67 100644 (file)
@@ -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.
index c3f4eac..2a7b672 100644 (file)
@@ -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);
index 37c70ee..9150318 100644 (file)
@@ -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;
 }
 
index 7382161..4d103f3 100644 (file)
@@ -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)