Keiichi Hirobe <chalenge.ak...@gmail.com> writes: > Attached is a patch that fixes a bug > for miscounting total number of curly braces in output string in array_out.
Wow, good catch! Testing this, I found there's a second way in which the space calculation is off: it always allocated one more byte than required, as a result of counting one more comma than is really required. That's not nearly as significant as the curly-brace miscount, but it still got in the way of doing this: *** 1234,1239 **** --- 1243,1251 ---- #undef APPENDSTR #undef APPENDCHAR + /* Assert that we calculated the string length accurately */ + Assert(overall_length == (p - retval + 1)); + pfree(values); pfree(needquotes); which seemed to me like a good idea now that we know this code isn't so perfect as all that. Will push shortly. regards, tom lane