From 0e96d84079c1792523d99b6bbec5878d11f5c8e4 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 16 Jun 2014 20:39:45 +1000 Subject: Change PBD::PathScanner API to return results by value to avoid inadvertent memory leaks --- libs/ardour/template_utils.cc | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'libs/ardour/template_utils.cc') diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc index 86881adfc3..20530ca9cc 100644 --- a/libs/ardour/template_utils.cc +++ b/libs/ardour/template_utils.cc @@ -81,21 +81,21 @@ session_template_dir_to_file (string const & dir) void find_session_templates (vector& template_names) { - vector *templates; + vector templates; PathScanner scanner; Searchpath spath (template_search_path()); templates = scanner (spath.to_string(), template_filter, 0, true, true); - if (!templates) { + if (templates.empty()) { cerr << "Found nothing along " << spath.to_string() << endl; return; } - cerr << "Found " << templates->size() << " along " << spath.to_string() << endl; + cerr << "Found " << templates.size() << " along " << spath.to_string() << endl; - for (vector::iterator i = templates->begin(); i != templates->end(); ++i) { - string file = session_template_dir_to_file (**i); + for (vector::iterator i = templates.begin(); i != templates.end(); ++i) { + string file = session_template_dir_to_file (*i); XMLTree tree; @@ -105,31 +105,28 @@ find_session_templates (vector& template_names) TemplateInfo rti; - rti.name = basename_nosuffix (**i); - rti.path = **i; + rti.name = basename_nosuffix (*i); + rti.path = *i; template_names.push_back (rti); } - - vector_delete (templates); - delete templates; } void find_route_templates (vector& template_names) { - vector *templates; + vector templates; PathScanner scanner; Searchpath spath (route_template_search_path()); templates = scanner (spath.to_string(), route_template_filter, 0, false, true); - if (!templates) { + if (templates.empty()) { return; } - for (vector::iterator i = templates->begin(); i != templates->end(); ++i) { - string fullpath = *(*i); + for (vector::iterator i = templates.begin(); i != templates.end(); ++i) { + string fullpath = *i; XMLTree tree; @@ -146,9 +143,6 @@ find_route_templates (vector& template_names) template_names.push_back (rti); } - - vector_delete (templates); - delete templates; } } -- cgit v1.2.3