pgsql: Change pqformat.h's integer handling functions to take unsigned

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Change pqformat.h's integer handling functions to take unsigned
Date: 2018-06-27 06:51:46
Message-ID: E1fY4Is-00082K-WD@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Change pqformat.h's integer handling functions to take unsigned integers.

As added in 1de09ad8eb1fa673ee7899d6dfbb2b49ba204818 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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/42121790ca9b27e01fd0471fdac28ec4a381eaee

Modified Files
--------------
src/include/libpq/pqformat.h | 82 ++++++++++++++++++++++----------------------
1 file changed, 41 insertions(+), 41 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2018-06-27 13:02:54 pgsql: Fix thinko in comments.
Previous Message Andres Freund 2018-06-27 06:20:02 pgsql: Remove duplicated return statement from llvmjit code.