Maelstrom: Flush the output when outputting to a log file.

https://github.com/libsdl-org/Maelstrom/commit/aaf66f0d760c31a08363cef119b6fb3243fe90bc

From aaf66f0d760c31a08363cef119b6fb3243fe90bc Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 27 Nov 2011 00:51:39 -0500
Subject: [PATCH] Flush the output when outputting to a log file.

---
 MaelstromLobby.cpp | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/MaelstromLobby.cpp b/MaelstromLobby.cpp
index e8cdafff..47bfcabd 100644
--- a/MaelstromLobby.cpp
+++ b/MaelstromLobby.cpp
@@ -20,6 +20,9 @@
     slouken@libsdl.org
 */
 
+#include <stdio.h>
+#include <stdarg.h>
+
 #include "SDL_net.h"
 
 #include "game/packet.h"
@@ -30,6 +33,14 @@
 // We'll let games stick around for 10 seconds before aging them out
 #define GAME_LIFETIME	10000
 
+static void log(const char *fmt, ...)
+{
+	va_list ap;
+
+	va_start(ap, fmt);
+	vfprintf(stdout, fmt, ap);
+	fflush(stdout);
+}
 
 class AddressList : public array<IPaddress>
 {
@@ -194,7 +205,7 @@ class GameList
 		while (game) {
 			next = game->Next();
 			if (game->TimedOut(now)) {
-				printf("Expiring game from %s:%d\n",
+				log("Expiring game from %s:%d\n",
 					SDLNet_ResolveIP(game->Address()),
 					SDL_SwapBE16(game->Address()->port));
 				game->Link(m_free);
@@ -238,7 +249,7 @@ class GameList
 			newGame = new Game;
 		}
 		if (!newGame->ReadFromPacket(packet)) {
-			printf("Invalid game from %s:%d\n",
+			log("Invalid game from %s:%d\n",
 				SDLNet_ResolveIP(&packet.address),
 				SDL_SwapBE16(packet.address.port));
 
@@ -248,7 +259,7 @@ class GameList
 
 		for (Game *game = m_list; game; game = game->Next()) {
 			if (*game == *newGame) {
-				//printf("Refreshing game from %s:%d\n",
+				//log("Refreshing game from %s:%d\n",
 				//	SDLNet_ResolveIP(&packet.address),
 				//	SDL_SwapBE16(packet.address.port));
 
@@ -258,7 +269,7 @@ class GameList
 			}
 		}
 
-		printf("Adding game from %s:%d\n",
+		log("Adding game from %s:%d\n",
 			SDLNet_ResolveIP(&packet.address),
 			SDL_SwapBE16(packet.address.port));
 
@@ -281,7 +292,7 @@ class GameList
 
 		for (Game *game = m_list; game; game = game->Next()) {
 			if (*game == *newGame) {
-				printf("Removing game from %s:%d\n",
+				log("Removing game from %s:%d\n",
 					SDLNet_ResolveIP(&packet.address),
 					SDL_SwapBE16(packet.address.port));
 				game->Link(m_free);