in source/otaJobParser/job_parser.c [455:504]
static bool uintFromString( const char * string,
const uint32_t length,
uint32_t * value )
{
bool ret = false;
bool overflow = false;
uint32_t retVal = 0U;
size_t i;
if( ( string != NULL ) && ( value != NULL ) )
{
for( i = 0U; ( i < length ) && !overflow; i++ )
{
char c = string[ i ];
if( !charIsDigit( c ) )
{
break;
}
else
{
if( !multOverflowUnit32( retVal, 10U ) )
{
retVal *= 10U;
if( !addOverflowUint32( retVal, ( ( uint32_t ) c - ( uint32_t ) '0' ) ) )
{
retVal += ( ( uint32_t ) c - ( uint32_t ) '0' );
}
else
{
overflow = true;
}
}
else
{
overflow = true;
}
}
}
if( ( length > 0U ) && ( i == length ) )
{
*value = retVal;
ret = true;
}
}
return ret;
}