{ \r
auto is_not_digit = [](char c){ return std::isdigit(c) == 0; };\r
\r
- auto relativePath = boost::filesystem::wpath(itr->path().file_string().substr(env::media_folder().size()-1, itr->path().file_string().size()));\r
+ auto relativePath = boost::filesystem::wpath(itr->path().file_string().substr(env::media_folder().size(), itr->path().file_string().size()));\r
\r
auto writeTimeStr = boost::posix_time::to_iso_string(boost::posix_time::from_time_t(boost::filesystem::last_write_time(itr->path())));\r
writeTimeStr.erase(std::remove_if(writeTimeStr.begin(), writeTimeStr.end(), is_not_digit), writeTimeStr.end());\r
sizeStr.erase(std::remove_if(sizeStr.begin(), sizeStr.end(), is_not_digit), sizeStr.end());\r
auto sizeWStr = std::wstring(sizeStr.begin(), sizeStr.end());\r
\r
- replyString << TEXT("\"") << relativePath.replace_extension(TEXT(""))\r
- << TEXT("\" ") << clipttype \r
- << TEXT(" ") << sizeStr\r
+ std::wstring dir = relativePath.parent_path().external_directory_string();\r
+ std::wstring file = boost::to_upper_copy(relativePath.filename());\r
+ relativePath = boost::filesystem::wpath(dir + L"/" + file);\r
+ \r
+ auto str = relativePath.replace_extension(TEXT("")).external_file_string();\r
+ if(str[0] == '\\' || str[0] == '/')\r
+ str = std::wstring(str.begin() + 1, str.end());\r
+\r
+ replyString << TEXT("\"") << str\r
+ << TEXT("\" ") << sizeWStr\r
<< TEXT(" ") << writeTimeWStr\r
- << TEXT("\r\n");\r
+ << TEXT("\r\n"); \r
} \r
}\r
}\r
{ \r
if(boost::filesystem::is_regular_file(itr->path()) && itr->path().extension() == L".ft")\r
{\r
- auto relativePath = boost::filesystem::wpath(itr->path().file_string().substr(env::template_folder().size()-1, itr->path().file_string().size()));\r
+ auto relativePath = boost::filesystem::wpath(itr->path().file_string().substr(env::template_folder().size(), itr->path().file_string().size()));\r
\r
auto writeTimeStr = boost::posix_time::to_iso_string(boost::posix_time::from_time_t(boost::filesystem::last_write_time(itr->path())));\r
writeTimeStr.erase(std::remove_if(writeTimeStr.begin(), writeTimeStr.end(), [](char c){ return std::isdigit(c) == 0;}), writeTimeStr.end());\r
sizeStr.erase(std::remove_if(sizeStr.begin(), sizeStr.end(), [](char c){ return std::isdigit(c) == 0;}), sizeStr.end());\r
\r
auto sizeWStr = std::wstring(sizeStr.begin(), sizeStr.end());\r
- \r
- replyString << TEXT("\"") << relativePath.replace_extension(TEXT(""))\r
+\r
+ std::wstring dir = relativePath.parent_path().external_directory_string();\r
+ std::wstring file = boost::to_upper_copy(relativePath.filename());\r
+ relativePath = boost::filesystem::wpath(dir + L"/" + file);\r
+ \r
+ auto str = relativePath.replace_extension(TEXT("")).external_file_string();\r
+ if(str[0] == '\\' || str[0] == '/')\r
+ str = std::wstring(str.begin() + 1, str.end());\r
+\r
+ replyString << TEXT("\"") << str\r
<< TEXT("\" ") << sizeWStr\r
<< TEXT(" ") << writeTimeWStr\r
<< TEXT("\r\n"); \r
}\r
}\r
- return boost::to_upper_copy(replyString.str());\r
+ return replyString.str();\r
}\r
\r
namespace amcp {\r