X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=ETL%2Ftrunk%2FETL%2F_stringf.h;fp=ETL%2Ftrunk%2FETL%2F_stringf.h;h=b701444111a40a09ce752f1f2294423a944c7c69;hb=ac34a4aa8bef4e87783d9ae2254a224c2db27ce8;hp=61621acef972f804b42c6a208c48be04526b3826;hpb=6d0da2d681b3533dbab09630a82b372774b1c4c8;p=synfig.git diff --git a/ETL/trunk/ETL/_stringf.h b/ETL/trunk/ETL/_stringf.h index 61621ac..b701444 100644 --- a/ETL/trunk/ETL/_stringf.h +++ b/ETL/trunk/ETL/_stringf.h @@ -199,12 +199,10 @@ is_absolute_path(const std::string &path) #ifdef WIN32 if(path.size()>=3 && path[1]==':' && (path[2]=='\\' || path[2]=='/')) return true; - return false; -#else +#endif if(!path.empty() && path[0]==ETL_DIRECTORY_SEPERATOR) return true; return false; -#endif } inline std::string @@ -278,11 +276,11 @@ cleanup_path(std::string path) while(!path.empty()) { std::string dir(get_root_from_path(path)); - if(dir=="../" && ret.size()) + if((dir=="../" || dir=="..\\") && ret.size()) { ret=dirname(ret)+ETL_DIRECTORY_SEPERATOR; } - else if(dir!="./" && dir!=".") + else if((dir!="./" && dir!=".\\") && dir!=".") { ret+=dir; } @@ -347,7 +345,7 @@ relative_path(std::string curr_path,std::string dest_path) while(!curr_path.empty()) { - dest_path="../"+dest_path; + dest_path=std::string("..")+ETL_DIRECTORY_SEPERATOR+dest_path; curr_path=remove_root_from_path(curr_path); }