All pastes #258963 Raw Edit

Mine

public text v1 · immutable
#258963 ·published 2006-11-26 23:43 UTC
rendered paste body
void
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);
}