Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > Well, the intention there is to cast the first operand (which is uint32) > so that it turns into signed 64-bits; the subtraction then occurs in 64 > bit arithmetic normally. If I let the subtraction occur in 32-bit width > unsigned, the result might overflow 32 bits.
Uh ... is it really possible for gotlen to be more than total_len? (I've not looked at the surrounding code here, but that seems weird.) regards, tom lane