From 66f8359c6bf1e11d499dac57fcacb7e62d68abcf Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Mon, 11 May 2020 12:15:11 +1000 Subject: [PATCH] AP_Logger: factor out an ensure_log_directory_exists method --- libraries/AP_Logger/AP_Logger_File.cpp | 12 +++++++++--- libraries/AP_Logger/AP_Logger_File.h | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libraries/AP_Logger/AP_Logger_File.cpp b/libraries/AP_Logger/AP_Logger_File.cpp index 5d18c389e6..725d385d08 100644 --- a/libraries/AP_Logger/AP_Logger_File.cpp +++ b/libraries/AP_Logger/AP_Logger_File.cpp @@ -58,10 +58,8 @@ AP_Logger_File::AP_Logger_File(AP_Logger &front, } -void AP_Logger_File::Init() +void AP_Logger_File::ensure_log_directory_exists() { - AP_Logger_Backend::Init(); - // create the log directory if need be int ret; struct stat st; @@ -78,6 +76,14 @@ void AP_Logger_File::Init() if (ret == -1 && errno != EEXIST) { printf("Failed to create log directory %s : %s\n", _log_directory, strerror(errno)); } +} + +void AP_Logger_File::Init() +{ + AP_Logger_Backend::Init(); + + // create the log directory if need be + ensure_log_directory_exists(); // determine and limit file backend buffersize uint32_t bufsize = _front._params.file_bufsize; diff --git a/libraries/AP_Logger/AP_Logger_File.h b/libraries/AP_Logger/AP_Logger_File.h index afcc53f6fd..d0eab3060b 100644 --- a/libraries/AP_Logger/AP_Logger_File.h +++ b/libraries/AP_Logger/AP_Logger_File.h @@ -98,6 +98,8 @@ private: int64_t disk_space_avail(); int64_t disk_space(); + void ensure_log_directory_exists(); + bool file_exists(const char *filename) const; bool log_exists(const uint16_t lognum) const;