diff options
-rw-r--r-- | util/fbrun/FbRun.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/util/fbrun/FbRun.cc b/util/fbrun/FbRun.cc index 19f6444..780d22a 100644 --- a/util/fbrun/FbRun.cc +++ b/util/fbrun/FbRun.cc | |||
@@ -482,6 +482,13 @@ void FbRun::tabCompleteApps() { | |||
482 | std::string entry = dir.readFilename(); | 482 | std::string entry = dir.readFilename(); |
483 | if (entry == "." || entry == "..") | 483 | if (entry == "." || entry == "..") |
484 | continue; | 484 | continue; |
485 | // escape special characters | ||
486 | std::string needle(" !\"$&'()*,:;<=>?@[\\]^`{|}"); | ||
487 | std::size_t pos = 0; | ||
488 | while ((pos = entry.find_first_of(needle, pos)) != std::string::npos) { | ||
489 | entry.insert(pos, "\\"); | ||
490 | pos += 2; | ||
491 | } | ||
485 | if (FbTk::FileUtil::isDirectory(std::string(path + entry).c_str())) | 492 | if (FbTk::FileUtil::isDirectory(std::string(path + entry).c_str())) |
486 | m_files.push_back(prefix + entry + "/"); | 493 | m_files.push_back(prefix + entry + "/"); |
487 | else | 494 | else |