help/log.c: better error handling for "log_output"
* Close previous log file if one was opened before. * Return error if opening file fails. Change-Id: I103025cd86bcac785fe39e13bc7d5f79d78e38e7 Signed-off-by: Girts Folkmanis <opensource@girts.me> Reviewed-on: http://openocd.zylin.com/3878 Tested-by: jenkins Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>gitignore-build
parent
b90d58db07
commit
8addd9503e
|
@ -251,9 +251,15 @@ COMMAND_HANDLER(handle_log_output_command)
|
||||||
{
|
{
|
||||||
if (CMD_ARGC == 1) {
|
if (CMD_ARGC == 1) {
|
||||||
FILE *file = fopen(CMD_ARGV[0], "w");
|
FILE *file = fopen(CMD_ARGV[0], "w");
|
||||||
|
if (file == NULL) {
|
||||||
if (file)
|
LOG_ERROR("failed to open output log '%s'", CMD_ARGV[0]);
|
||||||
log_output = file;
|
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;
|
return ERROR_OK;
|
||||||
|
|
Loading…
Reference in New Issue