Module Name:    src
Committed By:   martin
Date:           Sat Dec 26 13:08:45 UTC 2015

Modified Files:
        src/sbin/gpt: show.c

Log Message:
Improve "show -a" display: split human readable Type: field from the Type-GUID
to avoid wrapping in the common case; add a human readable Size: display.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sbin/gpt/show.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/gpt/show.c
diff -u src/sbin/gpt/show.c:1.33 src/sbin/gpt/show.c:1.34
--- src/sbin/gpt/show.c:1.33	Fri Dec 25 12:16:03 2015
+++ src/sbin/gpt/show.c	Sat Dec 26 13:08:45 2015
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/show.c,v 1.14 2006/06/22 22:22:32 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: show.c,v 1.33 2015/12/25 12:16:03 wiz Exp $");
+__RCSID("$NetBSD: show.c,v 1.34 2015/12/26 13:08:45 martin Exp $");
 #endif
 
 #include <sys/types.h>
@@ -222,6 +222,9 @@ show_all(gpt_t gpt)
 	map_t m;
 	struct gpt_ent *ent;
 	char s1[128], s2[128];
+#ifdef HN_AUTOSCALE
+	char human_num[8];
+#endif
 	uint8_t utfbuf[__arraycount(ent->ent_name) * 3 + 1];
 #define PFX "                                 "
 
@@ -247,11 +250,27 @@ show_all(gpt_t gpt)
 			gpt_uuid_snprintf(s2, sizeof(s2), "%d", ent->ent_type);
 			if (strcmp(s1, s2) == 0)
 				strlcpy(s1, "unknown", sizeof(s1));
-			printf(PFX "Type: %s (%s)\n", s1, s2);
+			printf(PFX "Type: %s\n", s1);
+			printf(PFX "TypeID: %s\n", s2);
 
 			gpt_uuid_snprintf(s2, sizeof(s1), "%d", ent->ent_guid);
 			printf(PFX "GUID: %s\n", s2);
 
+			printf(PFX "Size: ");
+#ifdef HN_AUTOSCALE
+			if (humanize_number(human_num, sizeof(human_num),
+			    (int64_t)(m->map_size * gpt->secsz),
+			    "", HN_AUTOSCALE, HN_B) < 0) {
+#endif
+				printf("%ju",
+				    (int64_t)(m->map_size * gpt->secsz));
+#ifdef HN_AUTOSCALE
+			} else {
+				printf("%s", human_num);
+			}
+#endif
+			putchar('\n');
+
 			utf16_to_utf8(ent->ent_name, utfbuf, sizeof(utfbuf));
 			printf(PFX "Label: %s\n", (char *)utfbuf);
 

Reply via email to