[PATCH] cosmetic: improve drivers list display

Franck Jullien franck.jullien at gmail.com
Thu Oct 11 16:57:05 EDT 2012


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 at gmail.com>
---
 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




More information about the barebox mailing list