X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Ffile_utils.cc;h=bb290fa6aaf1ae9ccdeba64e9a3941ed734b0184;hb=e281f5653c804f0eae07bd541f812b9534ec37e9;hp=7c3dffe71ffeee1195cc3ec3a9728dd9bfbf46ac;hpb=6b1659a29bb9b5c4a31cb0aec371842df0585034;p=ardour.git diff --git a/libs/pbd/file_utils.cc b/libs/pbd/file_utils.cc index 7c3dffe71f..bb290fa6aa 100644 --- a/libs/pbd/file_utils.cc +++ b/libs/pbd/file_utils.cc @@ -18,6 +18,7 @@ */ #include +#include #include #include @@ -32,6 +33,7 @@ #include "pbd/file_utils.h" #include "pbd/error.h" #include "pbd/pathscanner.h" +#include "pbd/stl_delete.h" #include "i18n.h" @@ -165,10 +167,14 @@ copy_files(const std::string & from_path, const std::string & to_dir) { PathScanner scanner; vector* files = scanner (from_path, accept_all_files, 0, true, false); - for (vector::iterator i = files->begin(); i != files->end(); ++i) { - std::string from = Glib::build_filename (from_path, **i); - std::string to = Glib::build_filename (to_dir, **i); - copy_file (from, to); + + if (files) { + for (vector::iterator i = files->begin(); i != files->end(); ++i) { + std::string from = Glib::build_filename (from_path, **i); + std::string to = Glib::build_filename (to_dir, **i); + copy_file (from, to); + } + vector_delete (files); } }