Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Feb 2017 00:09:26 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r314232 - head/usr.sbin/efivar
Message-ID:  <201702250009.v1P09QVL033219@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Sat Feb 25 00:09:26 2017
New Revision: 314232
URL: https://svnweb.freebsd.org/changeset/base/314232

Log:
  Exit when we can't print a variable.
  
  Exit after printing a message on stderr when we can't get a
  message. This is slightly different than linux, but keeps shell
  scripts from thinking the value of the variable is the error message
  and so is a net win.
  
  Sponsored by: Netflix

Modified:
  head/usr.sbin/efivar/efivar.c

Modified: head/usr.sbin/efivar/efivar.c
==============================================================================
--- head/usr.sbin/efivar/efivar.c	Sat Feb 25 00:09:21 2017	(r314231)
+++ head/usr.sbin/efivar/efivar.c	Sat Feb 25 00:09:26 2017	(r314232)
@@ -205,21 +205,20 @@ print_var(efi_guid_t *guid, char *name)
 	int rv;
 
 	efi_guid_to_str(guid, &gname);
-	if (!Nflag)
-		printf("%s-%s", gname, name);
 	if (pflag) {
 		rv = efi_get_variable(*guid, name, &data, &datalen, &att);
 
 		if (rv < 0)
-			printf("\n --- Error getting value --- %d", errno);
-		else {
-			if (Aflag)
-				asciidump(data, datalen);
-			else if (bflag)
-				bindump(data, datalen);
-			else
-				hexdump(data, datalen);
-		}
+			err(1, "%s-%s", gname, name);
+
+		if (!Nflag)
+			printf("%s-%s", gname, name);
+		if (Aflag)
+			asciidump(data, datalen);
+		else if (bflag)
+			bindump(data, datalen);
+		else
+			hexdump(data, datalen);
 	}
 	free(gname);
 	if (!Nflag)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702250009.v1P09QVL033219>