aboutsummaryrefslogtreecommitdiff
path: root/src/helper/log.c
diff options
context:
space:
mode:
authorGirts <girtsf@users.noreply.github.com>2016-11-05 14:38:55 -0700
committerFreddie Chopin <freddie.chopin@gmail.com>2017-04-23 22:38:42 +0100
commit8addd9503eeb7704907d2340378d1200e3bbb99c (patch)
tree6e37101f0094f745c74c74d3e770e0475aba3c46 /src/helper/log.c
parentb90d58db07459a353d20b052bd1e4732fec03aa5 (diff)
downloadriscv-openocd-8addd9503eeb7704907d2340378d1200e3bbb99c.zip
riscv-openocd-8addd9503eeb7704907d2340378d1200e3bbb99c.tar.gz
riscv-openocd-8addd9503eeb7704907d2340378d1200e3bbb99c.tar.bz2
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>
Diffstat (limited to 'src/helper/log.c')
-rw-r--r--src/helper/log.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/helper/log.c b/src/helper/log.c
index e7af803..891613d 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;