From 85f68e9f77bb6aa0a666e88cb2ce3b06cbcda583 Mon Sep 17 00:00:00 2001 From: Gianni Ciolli Date: Thu, 4 Aug 2016 20:59:47 +0200 Subject: [PATCH] Only collect remote command output if the caller requires it This addresses GitHub #216 and #167. --- repmgr.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/repmgr.c b/repmgr.c index 701c8c1a..5bc75615 100644 --- a/repmgr.c +++ b/repmgr.c @@ -3526,7 +3526,7 @@ do_standby_switchover(void) remote_host, runtime_options.remote_user, command, - &command_output); + NULL); termPQExpBuffer(&command_output); @@ -5956,15 +5956,18 @@ remote_command(const char *host, const char *user, const char *command, PQExpBuf return false; } - /* TODO: better error handling */ - while (fgets(output, MAXLEN, fp) != NULL) + if (outputbuf != NULL) { - appendPQExpBuffer(outputbuf, "%s", output); + /* TODO: better error handling */ + while (fgets(output, MAXLEN, fp) != NULL) + { + appendPQExpBuffer(outputbuf, "%s", output); + } } - pclose(fp); - log_verbose(LOG_DEBUG, "remote_command(): output returned was:\n%s", outputbuf->data); + if (outputbuf != NULL) + log_verbose(LOG_DEBUG, "remote_command(): output returned was:\n%s", outputbuf->data); return true; }