> Yes, bad will happen: > > info.si_signo: 6, info.si_code: 0, info.si_errno: 0, cursig: 6 > -> > info.si_signo: 6, info.si_code: 0 > info.si_errno: 0, cursig: 6 > > etc., everything gets too narrow. > > Because max_width is very exaggerated there while the values here like "0" or > "6" are in reality much shorter.
Ah, right. We don't wrap based on the actual output, but based on an expectation of the potential size of each field. I think that's right so that each field appears on the same line regardless of the values. I don't seem to be understanding your code. The comment still says that it's avoiding having the wrapping depend on the particular values. But I can't see in the code what does that. print_core_item itself clearly now depends on the size of the formatted string for each value. The comment says, "the FORMAT strings typically already contain their maximum width." But I don't see how that's so. What am I missing? > I find the output with applied patch fine, do you see a problem there? I prefer the old output: sigpend and sighold on separate lines, sid on the same like with *id, pgrp. I wonder what would happen if we just set the format-max values for the decimal formats smaller, so they're not really the maximum width but something more like the "common" width. > + int i = vasprintf (&out, format, ap); > + assert (i >= 0); assert is questionable for what could be an ENOMEM failure. > + va_end (ap); > + > + size_t n = name_width + sizeof ": " - 1 + strlen (out); i == strlen (out) unless the format delivered a '\0'. Thanks, Roland _______________________________________________ elfutils-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/elfutils-devel
