* Invalid memory access for NULL dereference
rcl_lifecycle_get_state may return NULL
transition->goal is checked for NULL but no return
while it's true and this may result the follow-up
NULL dereference
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* Avoid crash while NULL returned from rcl_service_get_options()
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* tweak error string and null check for current_state
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* use ROS_PACKAGE_NAME in debug msgs
* rcl_lifecycle too
* Swap unnamed macros to named
* Remove semicolon
* Add debug logging
* Timer debug logging
* Wait debug
* A bit less wait debug...
* Clearer time output
* Remove the wait sublogger
* Use conditional logging instead of the else{}
* Add 'X finalized' msg
* Add send_response logging
* Remove extra semicolons
* Add publish/take messages
* [style nitpick] formatted variables on the next line
* * memory leak issues
address those memory leak issues with the API
rcutils_set_formatted_error which is defined
in rcutils
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* * Address those memory leak issues with new MACRO
add macro RCL_SET_ERROR_MSG_WITH_FORMAT_STRING which
is equals RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING and
fix the memory leak issues with it
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* address uncrustify grumble
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* use rcl_allocator for rcl_lifecycle
* correct return value interpretation
* fix unsigned comparison
* use namespace for lifecycle in-built topics
* linters
* Explicitly set C99 and C++14 via the CMake variables
* Enable passing CMAKE_C_STANDARD and CMAKE_CXX_STANDARD externally
* Use add_compile_options
* Be more specific about the compiler, independent from the OS
* Check compiler, not OS. Use add_compile_options instead of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS
* add_compile_options() takes a list, not a string
* switch to c11 because of redefinition warnings
avoid typedef redifinition warning on macos
remove todo, compiler come from redefinition of typedef
* update to use new rmw function name
* add rcl_validate_topic_name()
* add rcl_expand_topic_name()
* gcc couldn't handle the init lists with tuples
* uncrustify and cpplint
* fix signed compare warnings
* address comments
* organize the substitution string constants together at the top of the file
* comment
* moved allocator to c_utilities
* moved error_handling to c_utilities
* refactor uses of RCL_SET_ERROR_MSG with allocator
* add missing guard condition functions and tests
* add missing timer functions
* refactor rcl_lifecycyle
* missed an instance of RCL_SET_ERROR_MSG
* fix segfaults in error cases for rcl_lifecycle
* remove extra header
* check return code of rcl_lifecycle_init_default_state_machine
* add concept of node namespace to rcl API
also validate node name and node namespace
* name_space -> namespace_
* doc clarification
* make use of rmw_validate_namespace()
* clear expected error messages in test_node.cpp
* avoid unused invalid_index
* include the validation result value when it is unknown
* use _snprintf_s on windows
* uncrustify