+Tue Jun 5 19:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (fhandler_console::dup): Allocate space for
+ savebuf on Cygwin heap.
+ (fhandler_console::char_command): Ditto. Use correct values for size.
+
2001-06-05 Egor Duda <deo@logos-m.ru>
* security.h (NTWriteEA): Change prototype.
fhc->savebufsiz = savebufsiz;
if (savebuf)
{
- fhc->savebuf = (PCHAR_INFO) malloc (sizeof (CHAR_INFO) *
+ fhc->savebuf = (PCHAR_INFO) cmalloc (HEAP_1_BUF, sizeof (CHAR_INFO) *
savebufsiz.X * savebufsiz.Y);
memcpy (fhc->savebuf, savebuf, sizeof (CHAR_INFO) *
savebufsiz.X * savebufsiz.Y);
if (!GetConsoleScreenBufferInfo (get_output_handle (), &now))
break;
- savebufsiz.X = now.srWindow.Right - now.srWindow.Left;
- savebufsiz.Y = now.srWindow.Bottom - now.srWindow.Top;
+ savebufsiz.X = now.srWindow.Right - now.srWindow.Left + 1;
+ savebufsiz.Y = now.srWindow.Bottom - now.srWindow.Top + 1;
if (savebuf)
- free (savebuf);
- savebuf = (PCHAR_INFO) malloc (sizeof (CHAR_INFO) *
+ cfree (savebuf);
+ savebuf = (PCHAR_INFO) cmalloc (HEAP_1_BUF, sizeof (CHAR_INFO) *
savebufsiz.X * savebufsiz.Y);
ReadConsoleOutputA (get_output_handle (), savebuf,
WriteConsoleOutputA (get_output_handle (), savebuf,
savebufsiz, cob, &now.srWindow);
- free (savebuf);
+ cfree (savebuf);
savebuf = NULL;
savebufsiz.X = savebufsiz.Y = 0;
}