Jeff Hostetler <git@xxxxxxxxxxxxxxxxx> writes: > I'll convert it to a flex-array at the bottom of the CTX structure > and then defer the truncation to the _perf target (which only does > that to keep the columns lined up). > > That will simplify things considerably. I am not sure if the complexity of flex-array is worth it. You have been storing an up-to-24-byte human readable name by embedding a strbuf that has two size_t plus a pointer (i.e. 24-bytes even on Windows), and the posted patch changes it to a pointer plus a on-heap allocation with malloc() overhead. An embedded fixed-size thread_name[TR2_MAX_THREAD_NAME+1] member may be the simplest thing to do, I suspect.