rendered paste bodyvoid
LineToConsole (char * format, ...)
{
struct cons_buffer * tmp; // temporary pointer to our linked list;
char str[1024];
DWORD numChars;
va_list args;
va_start (args, format);
vsprintf (str, format, args);
va_end (args);
/* First of all let's put the string into our linked list */
tmp = consTail;
if (tmp == NULL)
{
consHead = (struct cons_buffer *) malloc (sizeof (struct cons_buffer));
consTail = consHead;
consHead->string = (char *) malloc (sizeof (char) * strlen (str) + 1);
consHead->next = NULL;
strcpy (consHead->string, str);
}
else
{
tmp = (struct cons_buffer *) malloc (sizeof (struct cons_buffer));
consTail = consTail->next;
consTail = tmp;
consTail->string = (char *) malloc (sizeof (char) * strlen (str) + 1);
consTail->next = NULL;
strcpy (consTail->string, str);
}
/* Now if console is visible we can also output the string to the console */
if (IsConsoleVisible ())
WriteConsole (GetStdHandle (STD_OUTPUT_HANDLE), str, strlen (str), &numChars, NULL);
}