When the drivers list is printed with devinfo one can have some unaligned strings because of the arbitrary %10s alignment in the printf. This adds a first step finding the longest driver name, then the printf alignment is matched to this value. Signed-off-by: Franck Jullien <franck.jullien@xxxxxxxxx> --- drivers/base/driver.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 5b7286a..9dd479e 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -397,6 +397,7 @@ static int do_devinfo(int argc, char *argv[]) struct param_d *param; int i; struct resource *res; + int max_length = 0; if (argc == 1) { printf("devices:\n"); @@ -408,7 +409,12 @@ static int do_devinfo(int argc, char *argv[]) printf("\ndrivers:\n"); for_each_driver(drv) - printf("%10s\n",drv->name); + if (strlen(drv->name) > max_length) + max_length = strlen(drv->name); + + for_each_driver(drv) + printf("%*s\n", max_length, drv->name); + } else { dev = get_device_by_name(argv[1]); -- 1.7.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox