diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-17 00:12:10 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-17 00:12:10 +0000 |
commit | 4437d19fb4d7bd7cd9d8acd5e67d85c8751a6e93 (patch) | |
tree | 5eb094c94adda9f92cbedac6062b0d0040a5142c /util-linux/fdisk_osf.c | |
parent | aca10f852ae760a3f2e2b9ed08bd13f9d5b85443 (diff) | |
download | busybox-w32-4437d19fb4d7bd7cd9d8acd5e67d85c8751a6e93.tar.gz busybox-w32-4437d19fb4d7bd7cd9d8acd5e67d85c8751a6e93.tar.bz2 busybox-w32-4437d19fb4d7bd7cd9d8acd5e67d85c8751a6e93.zip |
fdisk: do not open device twice. Complain on fdisk -l /dev/bogus.
Made enums UPPERCASE. Removed one global variable.
Added some FIXMEs.
text data bss dec hex filename
804708 645 7112 812465 c65b1 busybox_old
804685 641 7112 812438 c6596 busybox_unstripped
Diffstat (limited to 'util-linux/fdisk_osf.c')
-rw-r--r-- | util-linux/fdisk_osf.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/util-linux/fdisk_osf.c b/util-linux/fdisk_osf.c index 5a7e6323d..ba01a7f0c 100644 --- a/util-linux/fdisk_osf.c +++ b/util-linux/fdisk_osf.c | |||
@@ -413,7 +413,8 @@ bsd_select(void) | |||
413 | xbsd_print_disklabel(0); | 413 | xbsd_print_disklabel(0); |
414 | break; | 414 | break; |
415 | case 'q': | 415 | case 'q': |
416 | close(fd); | 416 | if (ENABLE_FEATURE_CLEAN_UP) |
417 | close(dev_fd); | ||
417 | exit(EXIT_SUCCESS); | 418 | exit(EXIT_SUCCESS); |
418 | case 'r': | 419 | case 'r': |
419 | return; | 420 | return; |
@@ -627,12 +628,13 @@ xbsd_create_disklabel(void) | |||
627 | #else | 628 | #else |
628 | xbsd_part | 629 | xbsd_part |
629 | #endif | 630 | #endif |
630 | ) == 1) { | 631 | ) == 1) { |
631 | xbsd_print_disklabel(1); | 632 | xbsd_print_disklabel(1); |
632 | return 1; | 633 | return 1; |
633 | } else | 634 | } |
634 | return 0; | 635 | return 0; |
635 | } else if (c == 'n') | 636 | } |
637 | if (c == 'n') | ||
636 | return 0; | 638 | return 0; |
637 | } | 639 | } |
638 | } | 640 | } |
@@ -766,9 +768,9 @@ xbsd_write_bootstrap(void) | |||
766 | sector = get_start_sect(xbsd_part); | 768 | sector = get_start_sect(xbsd_part); |
767 | #endif | 769 | #endif |
768 | 770 | ||
769 | if (lseek(fd, sector * SECTOR_SIZE, SEEK_SET) == -1) | 771 | if (lseek(dev_fd, sector * SECTOR_SIZE, SEEK_SET) == -1) |
770 | fdisk_fatal(unable_to_seek); | 772 | fdisk_fatal(unable_to_seek); |
771 | if (BSD_BBSIZE != write(fd, disklabelbuffer, BSD_BBSIZE)) | 773 | if (BSD_BBSIZE != write(dev_fd, disklabelbuffer, BSD_BBSIZE)) |
772 | fdisk_fatal(unable_to_write); | 774 | fdisk_fatal(unable_to_write); |
773 | 775 | ||
774 | #if defined(__alpha__) | 776 | #if defined(__alpha__) |
@@ -939,9 +941,9 @@ xbsd_readlabel(struct partition *p) | |||
939 | sector = 0; | 941 | sector = 0; |
940 | #endif | 942 | #endif |
941 | 943 | ||
942 | if (lseek(fd, sector * SECTOR_SIZE, SEEK_SET) == -1) | 944 | if (lseek(dev_fd, sector * SECTOR_SIZE, SEEK_SET) == -1) |
943 | fdisk_fatal(unable_to_seek); | 945 | fdisk_fatal(unable_to_seek); |
944 | if (BSD_BBSIZE != read(fd, disklabelbuffer, BSD_BBSIZE)) | 946 | if (BSD_BBSIZE != read(dev_fd, disklabelbuffer, BSD_BBSIZE)) |
945 | fdisk_fatal(unable_to_read); | 947 | fdisk_fatal(unable_to_read); |
946 | 948 | ||
947 | memmove(d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET], | 949 | memmove(d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET], |
@@ -985,14 +987,14 @@ xbsd_writelabel(struct partition *p) | |||
985 | 987 | ||
986 | #if defined(__alpha__) && BSD_LABELSECTOR == 0 | 988 | #if defined(__alpha__) && BSD_LABELSECTOR == 0 |
987 | alpha_bootblock_checksum(disklabelbuffer); | 989 | alpha_bootblock_checksum(disklabelbuffer); |
988 | if (lseek(fd, 0, SEEK_SET) == -1) | 990 | if (lseek(dev_fd, 0, SEEK_SET) == -1) |
989 | fdisk_fatal(unable_to_seek); | 991 | fdisk_fatal(unable_to_seek); |
990 | if (BSD_BBSIZE != write(fd, disklabelbuffer, BSD_BBSIZE)) | 992 | if (BSD_BBSIZE != write(dev_fd, disklabelbuffer, BSD_BBSIZE)) |
991 | fdisk_fatal(unable_to_write); | 993 | fdisk_fatal(unable_to_write); |
992 | #else | 994 | #else |
993 | if (lseek(fd, sector * SECTOR_SIZE + BSD_LABELOFFSET, SEEK_SET) == -1) | 995 | if (lseek(dev_fd, sector * SECTOR_SIZE + BSD_LABELOFFSET, SEEK_SET) == -1) |
994 | fdisk_fatal(unable_to_seek); | 996 | fdisk_fatal(unable_to_seek); |
995 | if (sizeof(struct xbsd_disklabel) != write(fd, d, sizeof(struct xbsd_disklabel))) | 997 | if (sizeof(struct xbsd_disklabel) != write(dev_fd, d, sizeof(struct xbsd_disklabel))) |
996 | fdisk_fatal(unable_to_write); | 998 | fdisk_fatal(unable_to_write); |
997 | #endif | 999 | #endif |
998 | sync_disks(); | 1000 | sync_disks(); |