Ejemplo n.º 1
0
int	CUpdateUtil::RealVersionCheck(CUIntArray& unarrayClient, CUIntArray& unarrayServer)
{
	int i = 0;
	int count = 0;

	if(unarrayClient.GetSize() == unarrayServer.GetSize()){
		count = unarrayClient.GetSize();
		for(i=0; i <count; i++){
			if(unarrayClient.ElementAt(i) != unarrayServer.ElementAt(i)){
				if(unarrayClient.ElementAt(i) < unarrayServer.ElementAt(i))			return UPDATE_FLAG_UPDATE;
				else if(unarrayClient.ElementAt(i) > unarrayServer.ElementAt(i))	return UPDATE_FLAG_NORMAL;
			}
		}
	}
	else if(unarrayClient.GetSize() < unarrayServer.GetSize()){	// 1.1 : 1.1.0.1
		count = unarrayClient.GetSize();
		for(i=0; i <count; i++){
			if(unarrayClient.ElementAt(i) != unarrayServer.ElementAt(i)){
				if(unarrayClient.ElementAt(i) < unarrayServer.ElementAt(i))			return UPDATE_FLAG_UPDATE;
				else if(unarrayClient.ElementAt(i) > unarrayServer.ElementAt(i))	return UPDATE_FLAG_NORMAL;
			}
		}
		return UPDATE_FLAG_UPDATE;
	}
	else{	// unarrayClient.GetSize() > unarrayServer.GetSize() // 1.1.0.1 : 1.2
		count = unarrayServer.GetSize();
		for(i=0; i <count; i++){
			if(unarrayClient.ElementAt(i) != unarrayServer.ElementAt(i)){
				if(unarrayClient.ElementAt(i) < unarrayServer.ElementAt(i))			return UPDATE_FLAG_UPDATE;
				else if(unarrayClient.ElementAt(i) > unarrayServer.ElementAt(i))	return UPDATE_FLAG_NORMAL;
			}
		}
	}

	return UPDATE_FLAG_NORMAL;
}