From: Markus Rinne Date: Wed, 22 Sep 2010 19:11:54 +0000 (+0300) Subject: fdisk: eliminate redundant call to open() X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=263644840f3376c7d44d7f2bdf0daee902908165;p=util-linux fdisk: eliminate redundant call to open() Don't use open() in get_boot() if it's called with an argument try_only, because the file has already been opened by the caller. Signed-off-by: Markus Rinne --- diff --git a/fdisk/fdisk.c b/fdisk/fdisk.c index 68293213..1f841d17 100644 --- a/fdisk/fdisk.c +++ b/fdisk/fdisk.c @@ -1213,14 +1213,14 @@ get_boot(enum action what) { if (what == create_empty_dos) goto got_dos_table; /* skip reading disk */ - if ((fd = open(disk_device, type_open)) < 0) { - if ((fd = open(disk_device, O_RDONLY)) < 0) { - if (what == try_only) - return 1; - fatal(unable_to_open); - } else - printf(_("You will not be able to write " - "the partition table.\n")); + if (what != try_only) { + if ((fd = open(disk_device, type_open)) < 0) { + if ((fd = open(disk_device, O_RDONLY)) < 0) + fatal(unable_to_open); + else + printf(_("You will not be able to write " + "the partition table.\n")); + } } if (512 != read(fd, MBRbuffer, 512)) {