[Dependency Scanning] Provide libSwiftScan API to dispose of a string ref

Previously no API returned a raw 'swiftscan_string_ref_t' directly so this was not needed.
However, 'swiftscan_compiler_target_info_query' returns a string directly, which the clients need to clean up.
This commit is contained in:
Artem Chikin
2023-01-18 16:33:06 -08:00
parent 6c8c0b87f0
commit 5ac9d5b35f
3 changed files with 9 additions and 6 deletions

View File

@@ -27,12 +27,6 @@ DEFINE_SIMPLE_CONVERSION_FUNCTIONS(DependencyScanningTool, swiftscan_scanner_t)
//=== Private Cleanup Functions -------------------------------------------===//
/// Free the given string.
void swiftscan_string_dispose(swiftscan_string_ref_t string) {
if (string.data)
free(const_cast<void *>(string.data));
}
void swiftscan_dependency_info_details_dispose(
swiftscan_module_details_t details) {
swiftscan_module_details_s *details_impl = details;
@@ -446,6 +440,11 @@ swiftscan_scan_invocation_get_argv(swiftscan_scan_invocation_t invocation) {
//=== Public Cleanup Functions --------------------------------------------===//
void swiftscan_string_dispose(swiftscan_string_ref_t string) {
if (string.data)
free(const_cast<void *>(string.data));
}
void swiftscan_string_set_dispose(swiftscan_string_set_t *set) {
for (unsigned SI = 0, SE = set->count; SI < SE; ++SI)
swiftscan_string_dispose(set->strings[SI]);