svn commit: r234339 - head/sys/boot/i386/zfsboot
Andriy Gapon
avg at FreeBSD.org
Mon Apr 16 10:43:07 UTC 2012
Author: avg
Date: Mon Apr 16 10:43:06 2012
New Revision: 234339
URL: http://svn.freebsd.org/changeset/base/234339
Log:
zfsboot: honor -q if it's present in boot.config
Before r228267 the option was honored but the original content of
boot.config was not preserved. I tried to fix that but missed the idea.
Now the proper way of doing things is taken from i386/boo2.
Also, a comment is added to explain this a little bit unobvious
behavior.
Inspired by: jhb
MFC after: 5 days
Modified:
head/sys/boot/i386/zfsboot/zfsboot.c
Modified: head/sys/boot/i386/zfsboot/zfsboot.c
==============================================================================
--- head/sys/boot/i386/zfsboot/zfsboot.c Mon Apr 16 10:33:46 2012 (r234338)
+++ head/sys/boot/i386/zfsboot/zfsboot.c Mon Apr 16 10:43:06 2012 (r234339)
@@ -93,6 +93,7 @@ static const char *const dev_nm[NDEV] =
static const unsigned char dev_maj[NDEV] = {30, 4, 2};
static char cmd[512];
+static char cmddup[512];
static char kname[1024];
static int comspeed = SIOSPD;
static struct bootinfo bootinfo;
@@ -541,10 +542,15 @@ main(void)
}
if (*cmd) {
- if (!OPT_CHECK(RBX_QUIET))
- printf("%s: %s", PATH_CONFIG, cmd);
+ /*
+ * Note that parse() is destructive to cmd[] and we also want
+ * to honor RBX_QUIET option that could be present in cmd[].
+ */
+ memcpy(cmddup, cmd, sizeof(cmd));
if (parse())
autoboot = 0;
+ if (!OPT_CHECK(RBX_QUIET))
+ printf("%s: %s", PATH_CONFIG, cmddup);
/* Do not process this command twice */
*cmd = 0;
}
More information about the svn-src-all
mailing list