Skip to content
  • Deucе's avatar
    4f6fb2b4
    Add an use new strtou?ll?() wrappers in webget.c · 4f6fb2b4
    Deucе authored
    This is kind of a prototype for xpdev... but it's a bit klunky.
    
    The issue these fix is that some C libraries (Windows and GLibC)
    will return 0 and leave errno unset when no digits are converted,
    while other libraries (FreeBSD and musl) will set errno if no
    digits are converted.  This means that even setting errno to zero
    before calling, then checking it if the return value is zero is
    not enough to catch errors.
    
    This actually led to Windows and (most) Linux systems not being able
    to download the web lists because of a bug where it was converting
    starting in the middle of the string rather than where the numbers
    are.  It worked fine on Alpine Linux and FreeBSD though.
    4f6fb2b4
    Add an use new strtou?ll?() wrappers in webget.c
    Deucе authored
    This is kind of a prototype for xpdev... but it's a bit klunky.
    
    The issue these fix is that some C libraries (Windows and GLibC)
    will return 0 and leave errno unset when no digits are converted,
    while other libraries (FreeBSD and musl) will set errno if no
    digits are converted.  This means that even setting errno to zero
    before calling, then checking it if the return value is zero is
    not enough to catch errors.
    
    This actually led to Windows and (most) Linux systems not being able
    to download the web lists because of a bug where it was converting
    starting in the middle of the string rather than where the numbers
    are.  It worked fine on Alpine Linux and FreeBSD though.
Loading