From 48c065c3042d38db0df75c89853bb92b32562191 Mon Sep 17 00:00:00 2001 From: Tiiffi Date: Mon, 15 Feb 2021 03:29:44 +0200 Subject: [PATCH] Use setvbuf() instead of fflush() --- mcrcon.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mcrcon.c b/mcrcon.c index 61ea417..f681b1c 100644 --- a/mcrcon.c +++ b/mcrcon.c @@ -167,6 +167,10 @@ int main(int argc, char *argv[]) if (!port) port = "25575"; if (!host) host = "localhost"; + // disable output buffering (https://github.com/Tiiffi/mcrcon/pull/39) + setvbuf(stdout, NULL, _IONBF, 0); + setvbuf(stderr, NULL, _IONBF, 0); + if(argc < 1 && pass == NULL) usage(); // default getopt error handler enabled @@ -557,8 +561,6 @@ void packet_print(rc_packet *packet) // print newline if string has no newline if (packet->data[i-1] != 10 && packet->data[i-1] != 13) putchar('\n'); - - fflush(stdout); } rc_packet *packet_build(int id, int cmd, char *s1) @@ -656,7 +658,7 @@ int run_terminal_mode(int sock) while (global_connection_alive) { putchar('>'); - fflush(stdout); + int len = get_line(command, DATA_BUFFSIZE); if ((strcasecmp(command, "exit") && strcasecmp(command, "quit")) == 0)