Robert Haas <robertmh...@gmail.com> writes: > I was taught that when programming in C one should avoid returning a > struct type, as BufTagGetRelFileLocator does.
FWIW, I think that was invalid pre-ANSI-C, and maybe even in C89. C99 and later requires it. But it is pass-by-value and you have to think twice about whether you want the struct to be copied. regards, tom lane