if(pos != string::npos)
if(pos != string::npos && pos2 == 0)
string get_system_path(const string &path){	string new_path;	string::size_type pos;	#if defined(__MORPHOS__) || defined(AMIGA)  pos = path.find( "../" );  if( pos != string::npos )	  new_path = path.substr( 0, pos )+path.substr( pos+2 );  else	  new_path = path;  pos = new_path.find( "./" );  if( pos != string::npos )	  new_path = new_path.substr( 0, pos )+new_path.substr( pos+2 );  pos = new_path.find('/');  // If there is no separator, return the path as is  if(pos != string::npos)  {	  // See if we can translate this prefix	  string new_prefix(path_map[new_path.substr(0, pos).c_str()]);	  // If the prefix path is not recognised, return the path as is	  if(!new_prefix.empty())		  new_path = new_prefix + new_path.substr(pos);  }#else	pos = path.find('/');	// If there is no separator, return the path as is	if(pos == string::npos)		new_path = path;	else	{		// See if we can translate this prefix		string new_prefix(path_map[path.substr(0, pos).c_str()]);		// If the prefix path is not recognised, return the path as is		if(new_prefix.empty()) {			new_path = path;		} else {			new_path = new_prefix + path.substr(pos);		}	}#endif	switch_slashes(new_path);#ifdef WIN32	int num_chars = GetShortPathName(new_path.c_str(), NULL, 0);	if (num_chars > 0) {		char *short_path = new char [num_chars+1];		GetShortPathName(new_path.c_str(), short_path, num_chars+1);		new_path = short_path;		delete [] short_path;	}#endif	return new_path;}