On 08/03/2016 09:12, Markus Armbruster wrote: > I'm afraid this isn't a good idea. It relies on the non-local argument > that nobody will ever put a key longer than 255 into a qdict that gets > dumped. That may even be the case, but you need to *prove* it, not just > assert it. The weakest acceptable proof might be assertions in every > place that put keys into a dict that might get dumped. I suspect that's > practical and maintainable only if there's a single place that does it. > > If this was a good idea, I'd recommend to avoid the awkward macro: > > char key[256]; > int i; > > assert(strlen(entry->key) + 1 <= ARRAY_SIZE(key)); > > There are several other ways to limit the stack usage: > > 1. Move the array from stack to heap. Fine unless it's on a hot path. > As far as I can tell, this dumping business is for HMP and qemu-io, > i.e. not hot.
I think this is the best. You can just g_strdup, modify in place, print and free. Paolo