static stringT GetLockFileName(const stringT &filename) { ASSERT(!filename.empty()); // derive lock filename from filename stringT retval(filename, 0, filename.find_last_of(TCHAR('.'))); retval += _T(".plk"); return retval; }
// In following, drive will be empty on non-Windows platforms bool pws_os::splitpath(const stringT &path, stringT &drive, stringT &dir, stringT &file, stringT &ext) { if (path.empty()) return false; drive = _T(""); stringT::size_type last_slash = path.find_last_of(_T("/")); dir = path.substr(0, last_slash + 1); stringT::size_type last_dot = path.find_last_of(_T(".")); if (last_dot != stringT::npos && last_dot > last_slash) { file = path.substr(last_slash + 1, last_dot - last_slash - 1); ext = path.substr(last_dot + 1); } else { file = path.substr(last_slash + 1); ext = _T(""); } return true; }