[PATCH] sfdisk: avoid unneeded empty lines with '--list-free'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Similar to commit 4a52959d1 ("(s)fdisk: avoid unneeded empty lines with
'--list'"), there were also two superfluous empty lines when /dev/sr0
didn't contain a medium. Refactor the '--list-free' code the same way as
in the mentioned commit.

Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxx>
---
 disk-utils/fdisk-list.c | 14 ++++++++------
 disk-utils/fdisk-list.h |  2 +-
 disk-utils/sfdisk.c     | 10 +++-------
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/disk-utils/fdisk-list.c b/disk-utils/fdisk-list.c
index 78e17a97f..8cc116281 100644
--- a/disk-utils/fdisk-list.c
+++ b/disk-utils/fdisk-list.c
@@ -383,7 +383,8 @@ int print_device_pt(struct fdisk_context *cxt, char *device, int warnme,
 	return 0;
 }
 
-int print_device_freespace(struct fdisk_context *cxt, char *device, int warnme)
+int print_device_freespace(struct fdisk_context *cxt, char *device, int warnme,
+			   int seperator)
 {
 	if (fdisk_assign_device(cxt, device, 1) != 0) {	/* read-only */
 		if (warnme || errno == EACCES)
@@ -391,6 +392,9 @@ int print_device_freespace(struct fdisk_context *cxt, char *device, int warnme)
 		return -1;
 	}
 
+	if (seperator)
+		fputs("\n\n", stdout);
+
 	list_freespace(cxt);
 	fdisk_deassign_device(cxt, 1);
 	return 0;
@@ -412,15 +416,13 @@ void print_all_devices_pt(struct fdisk_context *cxt, int verify)
 void print_all_devices_freespace(struct fdisk_context *cxt)
 {
 	FILE *f = NULL;
-	int ct = 0;
+	int sep = 0;
 	char *dev;
 
 	while ((dev = next_proc_partition(&f))) {
-		if (ct)
-			fputs("\n\n", stdout);
-		if (print_device_freespace(cxt, dev, 0) == 0)
-			ct++;
+		print_device_freespace(cxt, dev, 0, sep);
 		free(dev);
+		sep = 1;
 	}
 }
 
diff --git a/disk-utils/fdisk-list.h b/disk-utils/fdisk-list.h
index 47518c498..a31ab0a7e 100644
--- a/disk-utils/fdisk-list.h
+++ b/disk-utils/fdisk-list.h
@@ -8,7 +8,7 @@ extern void list_freespace(struct fdisk_context *cxt);
 
 extern char *next_proc_partition(FILE **f);
 extern int print_device_pt(struct fdisk_context *cxt, char *device, int warnme, int verify, int seperator);
-extern int print_device_freespace(struct fdisk_context *cxt, char *device, int warnme);
+extern int print_device_freespace(struct fdisk_context *cxt, char *device, int warnme, int seperator);
 
 extern void print_all_devices_pt(struct fdisk_context *cxt, int verify);
 extern void print_all_devices_freespace(struct fdisk_context *cxt);
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index 6299cb49c..e0c25fde7 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -673,15 +673,11 @@ static int command_list_freespace(struct sfdisk *sf, int argc, char **argv)
 	fdisk_enable_listonly(sf->cxt, 1);
 
 	if (argc) {
-		int i, ct = 0;
+		int i;
 
-		for (i = 0; i < argc; i++) {
-			if (ct)
-				fputs("\n\n", stdout);
-			if (print_device_freespace(sf->cxt, argv[i], 1) != 0)
+		for (i = 0; i < argc; i++)
+			if (print_device_freespace(sf->cxt, argv[i], 1, i) != 0)
 				fail++;
-			ct++;
-		}
 	} else
 		print_all_devices_freespace(sf->cxt);
 
-- 
2.26.2




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux