From: Sami Kerola Date: Sun, 2 Nov 2014 20:26:30 +0000 (+0000) Subject: mkswap: set variable only when it's value is known X-Git-Tag: v2.26-rc1~239 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=076ba5a6967d8509da25e0a426ea65ac3f61473e;p=thirdparty%2Futil-linux.git mkswap: set variable only when it's value is known Avoid updating ctl->pagesize twice when user does specify page size. Signed-off-by: Sami Kerola --- diff --git a/disk-utils/mkswap.c b/disk-utils/mkswap.c index 7f600137d0..280d890250 100644 --- a/disk-utils/mkswap.c +++ b/disk-utils/mkswap.c @@ -90,23 +90,21 @@ struct mkswap_control { static void init_signature_page(struct mkswap_control *ctl) { - - int kernel_pagesize = ctl->pagesize = getpagesize(); + const int kernel_pagesize = getpagesize(); if (ctl->user_pagesize) { if (ctl->user_pagesize < 0 || !is_power_of_2(ctl->user_pagesize) || (size_t) ctl->user_pagesize < sizeof(struct swap_header_v1_2) + 10) errx(EXIT_FAILURE, - _("Bad user-specified page size %u"), - ctl->user_pagesize); - ctl->pagesize = ctl->user_pagesize; - } - - if (ctl->user_pagesize && ctl->user_pagesize != kernel_pagesize) - warnx(_("Using user-specified page size %d, " + _("Bad user-specified page size %u"), + ctl->user_pagesize); + if (ctl->user_pagesize != kernel_pagesize) + warnx(_("Using user-specified page size %d, " "instead of the system value %d"), ctl->pagesize, kernel_pagesize); - + ctl->pagesize = ctl->user_pagesize; + } else + ctl->pagesize = kernel_pagesize; ctl->signature_page = (unsigned long *) xcalloc(1, ctl->pagesize); }