• Philip Withnall's avatar
    gdatetime: Remove floating point from seconds parsing code · 5d7f4b8f
    Philip Withnall authored
    
    
    Rather than parsing the seconds in an ISO 8601 date/time using a pair of
    floating point numbers (numerator and denominator), use two integers
    instead. This avoids issues around floating point precision, and also
    makes it easier to check for potential overflow from overlong inputs.
    
    This last point means that the `isfinite()` check can be removed, as it
    was covering the case where a NAN was generated, which isn’t now
    possible using integer arithmetic.
    Signed-off-by: Philip Withnall's avatarPhilip Withnall <pwithnall@endlessos.org>
    5d7f4b8f
gdatetime.c 101 KB