13
0

remove hard-coded use of '/' in pathscanner code as dir separator (use glib instead)

git-svn-id: svn://localhost/ardour2/branches/3.0@8990 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-02-28 16:35:43 +00:00
parent 50b52d9a53
commit 3af81e63bf

View File

@ -26,6 +26,8 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <glibmm/miscutils.h>
#include "pbd/error.h"
#include "pbd/pathscanner.h"
#include "pbd/stl_delete.h"
@ -90,7 +92,7 @@ PathScanner::run_scan_internal (vector<string *> *result,
struct dirent *finfo;
char *pathcopy = strdup (dirpath.c_str());
char *thisdir;
char fullpath[PATH_MAX+1];
string fullpath;
string search_str;
string *newstr;
long nfound = 0;
@ -117,12 +119,11 @@ PathScanner::run_scan_internal (vector<string *> *result,
(finfo->d_name[0] == '.' && finfo->d_name[1] == '.' && finfo->d_name[2] == '\0')) {
continue;
}
snprintf (fullpath, sizeof(fullpath), "%s/%s",
thisdir, finfo->d_name);
fullpath = Glib::build_filename (thisdir, finfo->d_name);
struct stat statbuf;
if (stat (fullpath, &statbuf) < 0) {
if (stat (fullpath.c_str(), &statbuf) < 0) {
continue;
}
@ -147,7 +148,7 @@ PathScanner::run_scan_internal (vector<string *> *result,
continue;
}
}
if (return_fullpath) {
newstr = new string (fullpath);
} else {