You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.0 KiB
32 lines
1.0 KiB
// ExtractingFilePath.h
|
|
|
|
#ifndef __EXTRACTING_FILE_PATH_H
|
|
#define __EXTRACTING_FILE_PATH_H
|
|
|
|
#include "../../../Common/MyString.h"
|
|
|
|
#ifdef _WIN32
|
|
void Correct_AltStream_Name(UString &s);
|
|
#endif
|
|
|
|
// replaces unsuported characters, and replaces "." , ".." and "" to "[]"
|
|
UString Get_Correct_FsFile_Name(const UString &name);
|
|
|
|
/*
|
|
Correct_FsPath() corrects path parts to prepare it for File System operations.
|
|
It also corrects empty path parts like "\\\\":
|
|
- frontal empty path parts : it removes them or changes them to "_"
|
|
- another empty path parts : it removes them
|
|
if (absIsAllowed && path is absolute) : it removes empty path parts after start absolute path prefix marker
|
|
else
|
|
{
|
|
if (!keepAndReplaceEmptyPrefixes) : it removes empty path parts
|
|
if ( keepAndReplaceEmptyPrefixes) : it changes each empty frontal path part to "_"
|
|
}
|
|
*/
|
|
void Correct_FsPath(bool absIsAllowed, bool keepAndReplaceEmptyPrefixes, UStringVector &parts, bool isDir);
|
|
|
|
UString MakePathFromParts(const UStringVector &parts);
|
|
|
|
#endif
|