fdisk: refactor -s option
PATCH 3/6 fdisk: refactor -s option
From: Davidlohr Bueso <[email protected]>
Signed-off-by Davidlohr Bueso <[email protected]>
--- fdisk/fdisk.c | 41 ++++++++++++++++++++++------------------- 1 files changed, 22 insertions(+), 19 deletions(-)
fdisk/fdisk.c +22 -19
@@ -2095,10 +2095,22 @@ static void command_prompt(void) } } +static unsigned long long get_dev_sz (char *dev) +{ +int fd; +unsigned long long size; + +if ((fd =open (dev,O_RDONLY )) <0 ) +err (EXIT_FAILURE ,_ ("unable to open %s" ), dev); +if (blkdev_get_sectors (fd, &size) ==-1 ) +fatal (ioctl_error); +close (fd); +return size/2 ; +} +int main (int argc,char **argv) { -int j, c; -int optl =0 , opts =0 ; +int c, optl =0 , opts =0 ;setlocale (LC_ALL ,"" );bindtextdomain (PACKAGE ,LOCALEDIR );
@@ -2182,27 +2194,18 @@ int main(int argc, char **argv) }if (opts) { -unsigned long long size; - - nowarn =1 ; - - opts = argc - optind; -if (opts <=0 ) +/* print partition size for one or more devices */ +int i, ndevs = argc - optind; +if (ndevs <=0 )usage (stderr); -for (j = optind; j < argc; j++) { - disk_device = argv[j]; -if ((fd =open (disk_device,O_RDONLY )) <0 ) -err (EXIT_FAILURE ,_ ("unable to open %s" ), disk_device); -if (blkdev_get_sectors (fd, &size) ==-1 ) -fatal (ioctl_error); -close (fd); -if (opts ==1 ) -printf ("%llu\n" , size/2 ); +for (i = optind; i < argc; i++) { +if (ndevs ==1 ) +printf ("%llu\n" ,get_dev_sz (argv[i]));else -printf ("%s: %llu\n" , argv[j], size/2 ); +printf ("%s: %llu\n" , argv[i],get_dev_sz (argv[i])); } -exit (0 ); +exit (EXIT_SUCCESS ); }if (argc-optind ==1 )
Signature · 1 line
1.7.4.1
Karel Zak
maintainerQuoted 1 line · Davidlohr Bueso
+static unsigned long long
get_dev_sz(char *dev)
It's number of blocks (1024-bytes) rather than size, what about
get_dev_blocks()
or so...
Karel
Signature · 2 lines
Karel Zak <[email protected]> http://karelzak.blogspot.com
Quoted 8 lines · Karel Zak
Quoted 1 line · Davidlohr Bueso
+static unsigned long long
get_dev_sz(char *dev)It's number of blocks (1024-bytes) rather than size, what about
get_dev_blocks()or so...
From: Davidlohr Bueso <[email protected]>
Date: Mon, 21 May 2012 21:22:37 +0200
Subject: [PATCH] fdisk: refactor -s option
Signed-off-by Davidlohr Bueso <[email protected]>
--- fdisk/fdisk.c | 41 ++++++++++++++++++++++------------------- 1 files changed, 22 insertions(+), 19 deletions(-)
fdisk/fdisk.c +22 -19
@@ -2095,10 +2095,22 @@ static void command_prompt(void) } } +static unsigned long long get_dev_blocks (char *dev) +{ +int fd; +unsigned long long size; + +if ((fd =open (dev,O_RDONLY )) <0 ) +err (EXIT_FAILURE ,_ ("unable to open %s" ), dev); +if (blkdev_get_sectors (fd, &size) ==-1 ) +fatal (ioctl_error); +close (fd); +return size/2 ; +} +int main (int argc,char **argv) { -int j, c; -int optl =0 , opts =0 ; +int c, optl =0 , opts =0 ;setlocale (LC_ALL ,"" );bindtextdomain (PACKAGE ,LOCALEDIR );
@@ -2182,27 +2194,18 @@ int main(int argc, char **argv) }if (opts) { -unsigned long long size; - - nowarn =1 ; - - opts = argc - optind; -if (opts <=0 ) +/* print partition size for one or more devices */ +int i, ndevs = argc - optind; +if (ndevs <=0 )usage (stderr); -for (j = optind; j < argc; j++) { - disk_device = argv[j]; -if ((fd =open (disk_device,O_RDONLY )) <0 ) -err (EXIT_FAILURE ,_ ("unable to open %s" ), disk_device); -if (blkdev_get_sectors (fd, &size) ==-1 ) -fatal (ioctl_error); -close (fd); -if (opts ==1 ) -printf ("%llu\n" , size/2 ); +for (i = optind; i < argc; i++) { +if (ndevs ==1 ) +printf ("%llu\n" ,get_dev_blocks (argv[i]));else -printf ("%s: %llu\n" , argv[j], size/2 ); +printf ("%s: %llu\n" , argv[i],get_dev_blocks (argv[i])); } -exit (0 ); +exit (EXIT_SUCCESS ); }if (argc-optind ==1 )
Signature · 1 line
1.7.4.1