Thread
-
Re: Simplify the way of appending comma to stringInfo
Pavel Stehule <pavel.stehule@gmail.com> — 2025-12-08T08:41:10Z
Hi po 8. 12. 2025 v 9:37 odesílatel Chao Li <li.evan.chao@gmail.com> napsal: > Hi Hackers, > > In a lot places, there are logic of appending comma separators in a > pattern like: > > ``` > for (int i = 0; i < len; i ++) > { > if (i > 0) > appendStringInfoString(", "); > appendStringInfo(some-item); > } > > ``` > This pattern uses an "if" check and two appendStringInfoString() to build > a comma-delimited string. > > This can be simplified as: > > ``` > const char *sep = ""; > for (int i = 0; i < len; i ++) > { > appendStringInfo("%s%s", sep, some-item); > sep = ", "; > } > ``` > The new pattern avoids the "if" check, and combines two > appendStringInfoString() into a single appendStringInfo(). I think the new > pattern is neater and faster. > > The old patterns are used in a lot of places, and there are some usages of > the new pattern as well. Instead of creating a big cleanup patch, I > just applied the new pattern to a single file for now to see if the hacker > group likes this change. > It doesn't look like a simplification. Regards Pavel > Best regards, > == > Chao Li (Evan) > --------------------- > HighGo Software Co., Ltd. > https://www.highgo.com/ >