(This is not a code review - this is just to satisfy my curiosity)
I've seen lots of code like this where I may have been tempted to use a ternary operator for readability, so I was wondering is there a PG convention to avoid such ternary operator assignments, or is it simply a personal taste thing, or is there some other reason?
For example:
if (msg) res->errMsg = msg; else res->errMsg = libpq_gettext("out of memory\n");
The C compiler will expand:
res->errMsg = msg ? msg : libpq_gettext("out of memory\n");