- bugfix for windows users 7z extraction
This commit is contained in:
parent
37f42cedee
commit
4c7a2729d5
|
@ -165,7 +165,7 @@ void restoreVideoMode(bool exitingApp=false);
|
|||
bool StartsWith(const std::string &str, const std::string &key);
|
||||
bool EndsWith(const string &str, const string& key);
|
||||
|
||||
void endPathWithSlash(string &path);
|
||||
void endPathWithSlash(string &path, bool requireOSSlash=false);
|
||||
void trimPathWithStartingSlash(string &path);
|
||||
void updatePathClimbingParts(string &path);
|
||||
|
||||
|
|
|
@ -469,13 +469,15 @@ bool EndsWith(const string &str, const string& key)
|
|||
return result;
|
||||
}
|
||||
|
||||
void endPathWithSlash(string &path) {
|
||||
void endPathWithSlash(string &path,bool requireOSSlash) {
|
||||
if(EndsWith(path, "/") == false && EndsWith(path, "\\") == false) {
|
||||
string seperator = "/";
|
||||
if(requireOSSlash == true) {
|
||||
#if defined(WIN32)
|
||||
path += "\\";
|
||||
#else
|
||||
path += "/";
|
||||
seperator = "\\";
|
||||
#endif
|
||||
}
|
||||
path += seperator;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1663,10 +1665,21 @@ string replaceAll(string& context, const string& from, const string& to) {
|
|||
|
||||
string getFullFileArchiveExtractCommand(string fileArchiveExtractCommand,
|
||||
string fileArchiveExtractCommandParameters, string outputpath, string archivename) {
|
||||
string parsedOutputpath = outputpath;
|
||||
string parsedArchivename = archivename;
|
||||
|
||||
// This is required for execution on win32
|
||||
#if defined(WIN32)
|
||||
replaceAll(parsedOutputpath, "\\\\", "\\");
|
||||
replaceAll(parsedOutputpath, "/", "\\");
|
||||
replaceAll(parsedArchivename, "\\\\", "\\");
|
||||
replaceAll(parsedArchivename, "/", "\\");
|
||||
#endif
|
||||
|
||||
string result = fileArchiveExtractCommand;
|
||||
result += " ";
|
||||
string args = replaceAll(fileArchiveExtractCommandParameters, "{outputpath}", outputpath);
|
||||
args = replaceAll(args, "{archivename}", archivename);
|
||||
string args = replaceAll(fileArchiveExtractCommandParameters, "{outputpath}", parsedOutputpath);
|
||||
args = replaceAll(args, "{archivename}", parsedArchivename);
|
||||
result += args;
|
||||
|
||||
return result;
|
||||
|
|
Loading…
Reference in New Issue
Block a user