From a3c7297d8e4b5b37f7907e1e45c95a5d00bb6a42 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 30 Jun 2015 11:42:30 +1000 Subject: [PATCH] HAL_Linux: fixed setting of custom directories --- libraries/AP_HAL_Linux/HAL_Linux_Class.cpp | 4 ++-- libraries/AP_HAL_Linux/HAL_Linux_Class.h | 6 ------ libraries/AP_HAL_Linux/Util.h | 9 +++++++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp index bb1a079758..7d523b9ce3 100644 --- a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp +++ b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp @@ -163,10 +163,10 @@ void HAL_Linux::init(int argc,char* const argv[]) const uartEDriver.set_device_path(gopt.optarg); break; case 'l': - custom_log_directory = gopt.optarg; + utilInstance.set_custom_log_directory(gopt.optarg); break; case 't': - custom_terrain_directory = gopt.optarg; + utilInstance.set_custom_terrain_directory(gopt.optarg); break; case 'h': _usage(); diff --git a/libraries/AP_HAL_Linux/HAL_Linux_Class.h b/libraries/AP_HAL_Linux/HAL_Linux_Class.h index f55c2eaec5..12a4474124 100644 --- a/libraries/AP_HAL_Linux/HAL_Linux_Class.h +++ b/libraries/AP_HAL_Linux/HAL_Linux_Class.h @@ -10,12 +10,6 @@ class HAL_Linux : public AP_HAL::HAL { public: HAL_Linux(); void init(int argc, char * const * argv) const; - const char* get_custom_log_directory() { return custom_log_directory; } - const char* get_custom_terrain_directory() { return custom_terrain_directory; } - -private: - mutable const char* custom_log_directory = NULL; - mutable const char* custom_terrain_directory = NULL; }; extern const HAL_Linux AP_HAL_Linux; diff --git a/libraries/AP_HAL_Linux/Util.h b/libraries/AP_HAL_Linux/Util.h index 8e74db3295..be99968482 100644 --- a/libraries/AP_HAL_Linux/Util.h +++ b/libraries/AP_HAL_Linux/Util.h @@ -30,8 +30,11 @@ public: set system clock in UTC microseconds */ void set_system_clock(uint64_t time_utc_usec); - const char* get_custom_log_directory(); - const char* get_custom_terrain_directory(); + const char* get_custom_log_directory() { return custom_log_directory; } + const char* get_custom_terrain_directory() { return custom_terrain_directory; } + + void set_custom_log_directory(const char *_custom_log_directory) { custom_log_directory = _custom_log_directory; } + void set_custom_terrain_directory(const char *_custom_terrain_directory) { custom_terrain_directory = _custom_terrain_directory; } bool is_chardev_node(const char *path); @@ -39,6 +42,8 @@ private: static Linux::ToneAlarm _toneAlarm; int saved_argc; char* const *saved_argv; + const char* custom_log_directory = NULL; + const char* custom_terrain_directory = NULL; };