fix complete_filename

This commit is contained in:
Maxime Coste 2012-08-07 00:16:51 +02:00
parent b69134c36f
commit 02b7786bcd

View File

@ -14,16 +14,21 @@ CandidateList complete_filename(const Context& context,
size_t cursor_pos) size_t cursor_pos)
{ {
String real_prefix = prefix.substr(0, cursor_pos); String real_prefix = prefix.substr(0, cursor_pos);
auto dir_end = std::find(real_prefix.begin(), real_prefix.end(), '/');
String dirname = "./"; String dirname = "./";
String dirprefix; String dirprefix;
String fileprefix = real_prefix; String fileprefix = real_prefix;
if (dir_end != real_prefix.end()) size_t dir_end = -1;
for (size_t i = 0; i < real_prefix.length(); ++i)
{ {
dirname = String(real_prefix.begin(), dir_end + 1); if (real_prefix[i] == '/')
dir_end = i;
}
if (dir_end != -1)
{
dirname = real_prefix.substr(0, dir_end + 1);
dirprefix = dirname; dirprefix = dirname;
fileprefix = String(dir_end + 1, real_prefix.end()); fileprefix = real_prefix.substr(dir_end + 1);
} }
DIR* dir = opendir(dirname.c_str()); DIR* dir = opendir(dirname.c_str());