Am 03.03.2020 um 01:35 schrieb Takashi Yano:

The second argument DWORD *wn of sendOut() is not used
outside sendOut(), so it can be covered up like:

inline void sendOut (HANDLE &handle)
{
   DWORD wn;
   WriteConsoleA (handle, buf, ixput, &wn, 0);
}


I doubt that will improve much, if anything. There are still direct calls to WriteConsoleA() left, working on other buffers, and those still use the DWORD wn defined near the top of fhandler_console::char_command(). So that the existing varialbe would have to be kept anyway. That means the variables local to each invocation (!) of wpbuf.sendOut would just clutter the stack for no gain.

OTOH the MS documentation calls this DWORD* an "optional output" argument. If I'm reading that right, it means it should be fine to just pass NULL to indicate that we don't need it:

inline void sendOut (HANDLE &handle)
{
  WriteConsoleA (handle, buf, ixput, 0, 0);
}

The same would apply to all the other calls of WriteConsoleA, it seems.

Reply via email to