示例#1
0
int
MultiServer::createSlink(ServerContext& s, const char *path, const char *link)
{
	string subdir;
	FileServer *server = getServer(s, path, subdir);
	if (link)
	{
		string lnk;
		FileServer *server2 = getServer(s, link, lnk);
		if (server2 && server == server2)
		{
			link = lnk.c_str();
		}
		else
		{
			return -EPERM;
		}
	}
	if (server && !server->readOnly(s))
	{
		return server->createSlink(s, subdir.c_str(), link);
	}
	return -EPERM;
}