Don't use Voria in the description, since it no longer exists
[synfig.git] / ETL / trunk / ETL / _stringf.h
index 61621ac..d266453 100644 (file)
@@ -53,11 +53,7 @@ _ETL_BEGIN_CDECLS
 #else
 
 # ifdef HAVE_VSNPRINTF // This is the secondary method
-#  if defined(__CYGWIN__)  || defined(_WIN32)
-extern int vsnprintf(char *,unsigned int,const char*,va_list)ETL_NO_THROW;
-#  else
-extern int vsnprintf(char *,int,const char*,va_list)ETL_NO_THROW;
-#  endif
+ extern int vsnprintf(char *,size_t,const char*,va_list)ETL_NO_THROW;
 # endif
 
 #endif
@@ -199,12 +195,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 +272,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 +341,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);
        }