On 2.11.2014 22:34, Noah Misch wrote: > On Sun, Nov 02, 2014 at 05:10:25AM +0100, Marko Tiikkaja wrote: >> *** a/contrib/pgcrypto/pgp-decrypt.c >> --- b/contrib/pgcrypto/pgp-decrypt.c >> *************** >> *** 1069,1075 **** pgp_skip_packet(PullFilter *pkt) >> >> while (res > 0) >> res = pullf_read(pkt, 32 * 1024, &tmp); >> ! return res < 0 ? res : 0; >> } >> >> /* >> --- 1069,1075 ---- >> >> while (res > 0) >> res = pullf_read(pkt, 32 * 1024, &tmp); >> ! return res; > > Why is the old code silly and the new code correct?
The loop only terminates when (res > 0) is false, i.e. (res <= 0), which makes the expression after the return statement pointless: (res == 0) -> 0 (res < 0) -> res So it's 'res' all the time. Tomas -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers