parse_int_ranged
if ((s = parse_int_ranged(s, 2, 0, 23, &hh)) == NULL)
if ((s = parse_int_ranged(s, 2, 0, 59, &mm)) == NULL)
static const char *parse_int_ranged(const char *s, size_t len, int min,
if (!parse_int_ranged(date+len-2, 2, 1, 31, &gdate.day))
if (!parse_int_ranged(date+len-4, 2, 1, 12, &gdate.month))
if (!parse_int_ranged(date, len-4, 0, 9999, &gdate.year))