• Andres Freund's avatar
    Change pqformat.h's integer handling functions to take unsigned integers. · 42121790
    Andres Freund authored
    As added in 1de09ad8 the new functions
    all accept signed integers as parameters. That's not great, because
    it's perfectly reasonable to call them with unsigned parameters.
    Unfortunately unsigned to signed conversion is not well defined, when
    exceeding the range of the signed value.  That's presently not a
    practical issue in postgres (among other reasons because we force
    gcc's hand with -fwrapv).  But it's clearly not quite right.
    
    Thus change the signatures to accept unsigned integers instead, signed
    to unsigned conversion is always well defined. Also change the
    backward compat pq_sendint() - while it's deprecated it seems better
    to be consistent.
    
    Per discussion between Andrew Gierth, Michael Paquier, Alvaro Herrera
    and Tom Lane.
    
    Reported-By: Andrew Gierth
    Author: Andres Freund
    Discussion: https://postgr.es/m/87r2m10zm2.fsf@news-spur.riddles.org.uk
    42121790
pqformat.h 5.93 KB