#include "mesh_ota.h" /* * 999.999.999 * Return true if remote version is newer (higher) than local version */ bool bNewerVersion(const char* pu8Local, const char* pu8Remote){ char u8LocalTmp[12]; char u8RemoteTmp[12]; char* pu8saveptrLocal; char* pu8saveptrRemote; strcpy(u8LocalTmp, pu8Local); strcpy(u8RemoteTmp, pu8Remote); char* pu8TokenLocal = strtok_r(u8LocalTmp, ".", &pu8saveptrLocal); char* pu8TokenRemote = strtok_r(u8RemoteTmp, ".", &pu8saveptrRemote) ; bool bReturn = false; uint8_t u8Index = 0; while( (u8Index <= 2) && (bReturn == false)){ u8Index++; if(atoi(pu8TokenLocal) < atoi(pu8TokenRemote)) { bReturn = true; } pu8TokenLocal = strtok_r(NULL, ".", &pu8saveptrLocal); pu8TokenRemote = strtok_r(NULL, ".", &pu8saveptrRemote) ; } return bReturn; }