X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fhelper%2Flog.c;fp=src%2Fhelper%2Flog.c;h=891613d313cd8bb0a1c651c7ff5fca9e8b2af749;hp=e7af803c92c7c8ab1fcf035bfbccf560dda1abb7;hb=8addd9503eeb7704907d2340378d1200e3bbb99c;hpb=b90d58db07459a353d20b052bd1e4732fec03aa5;ds=sidebyside diff --git a/src/helper/log.c b/src/helper/log.c index e7af803c92..891613d313 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -251,9 +251,15 @@ COMMAND_HANDLER(handle_log_output_command) { if (CMD_ARGC == 1) { FILE *file = fopen(CMD_ARGV[0], "w"); - - if (file) - log_output = file; + if (file == NULL) { + LOG_ERROR("failed to open output log '%s'", CMD_ARGV[0]); + return ERROR_FAIL; + } + if (log_output != stderr && log_output != NULL) { + /* Close previous log file, if it was open and wasn't stderr. */ + fclose(log_output); + } + log_output = file; } return ERROR_OK;