Explorar o código

LibC: Don't clobber errno in dbgprintf().

Andreas Kling %!s(int64=6) %!d(string=hai) anos
pai
achega
e20aecefba
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      LibC/stdio.cpp

+ 2 - 0
LibC/stdio.cpp

@@ -295,10 +295,12 @@ int dbgprintf(const char* fmt, ...)
 {
 {
     // if this fails, you're printing too early.
     // if this fails, you're printing too early.
     ASSERT(stddbg);
     ASSERT(stddbg);
+    int errno_backup = errno;
     va_list ap;
     va_list ap;
     va_start(ap, fmt);
     va_start(ap, fmt);
     int ret = vfprintf(stddbg, fmt, ap);
     int ret = vfprintf(stddbg, fmt, ap);
     va_end(ap);
     va_end(ap);
+    errno = errno_backup;
     return ret;
     return ret;
 }
 }