* smallprint.c (console_printf): New function.

* dcrt0.cc (dll_crt0_1): Use console_printf for debugging output.
* debug.cc (debug_mark_closed): New function.
(close_handle): Use debug_mark_closed.
* debug.h: Declare new functions.
* dtable.cc (dtable::build_fhandler): Remove unneeded extern.
* spawn.cc: Cosmetic changes.
* winsup.h: Define NO_COPY for C files, too.  Declare a global.
This commit is contained in:
Christopher Faylor
2001-08-22 17:50:22 +00:00
parent 1fdc8df95d
commit 0a047e8f32
8 changed files with 81 additions and 36 deletions

View File

@@ -181,7 +181,7 @@ __small_sprintf (char *dst, const char *fmt,...)
void
small_printf (const char *fmt,...)
{
char buf[2000];
char buf[16384];
va_list ap;
DWORD done;
int count;
@@ -199,6 +199,29 @@ small_printf (const char *fmt,...)
count = __small_vsprintf (buf, fmt, ap);
va_end (ap);
WriteFile (GetStdHandle (STD_ERROR_HANDLE), buf, count, &done, 0);
WriteFile (GetStdHandle (STD_ERROR_HANDLE), buf, count, &done, NULL);
FlushFileBuffers (GetStdHandle (STD_ERROR_HANDLE));
}
#ifdef DEBUGGING
static HANDLE NO_COPY console_handle = NULL;
void
console_printf (const char *fmt,...)
{
char buf[16384];
va_list ap;
DWORD done;
int count;
extern SECURITY_ATTRIBUTES sec_none;
if (!console_handle)
console_handle = CreateFileA ("CONOUT$", GENERIC_WRITE, FILE_SHARE_WRITE,
&sec_none, OPEN_EXISTING, 0, 0);
va_start (ap, fmt);
count = __small_vsprintf (buf, fmt, ap);
va_end (ap);
WriteFile (console_handle, buf, count, &done, NULL);
FlushFileBuffers (console_handle);
}
#endif