Keiichi Hirobe <chalenge.akane@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