[please CC me] Hi Zack, On 12/29/22 01:01, Zack Weinberg via Libc-alpha wrote: > On Wed, Dec 28, 2022, at 6:17 PM, Alejandro Colomar via Libc-alpha wrote: >> This version of the patch set adds the [v]stpeprintf() functions, which >> are more necessary than stpecpy(3). snprintf(3) is the only way to >> catenate formatted strings, and it's really bad for that. > > I don't necessarily _oppose_ the addition of these functions but I wonder > whether the uses you have in mind would be satisfied by open_memstream() + > fprintf(). There are uses which could be covered by it. However, several of the cases where I found dubious code around snprintf(3) (when not straight bugs) can't use it. Most of the use cases of snprintf(3) were legitimately truncating; for example, one of them was creating a path, and anything over PATH_MAX would be an error. In Nginx code, performance also matters a lot, so I guess this function has unnecessary overhead due to realloc(3) (although I don't know how much that's relevant, since snprintf(3) is already quite slow). But it's an interesting alternative; thanks! Cheers, Alex > > zw --