ldns_str2period(const char *nptr, const char **endptr)
{
int sign = 0;
- long i = 0;
- long seconds = 0;
+ uint32_t i = 0;
+ uint32_t seconds = 0;
for(*endptr = nptr; **endptr; (*endptr)++) {
switch (**endptr) {
if(sign == 0) {
sign = -1;
} else {
- return (sign == -1) ? -seconds : seconds;
+ return seconds;
}
break;
case '+':
if(sign == 0) {
sign = 1;
} else {
- return (sign == -1) ? -seconds : seconds;
+ return seconds;
}
break;
case 's':
break;
default:
seconds += i;
- return (sign == -1) ? -seconds : seconds;
+ /* disregard signedness */
+ return seconds;
}
}
seconds += i;
- return (sign == -1) ? -seconds : seconds;
+ /* disregard signedness */
+ return seconds;
}