aboutsummaryrefslogtreecommitdiff
path: root/lib/libefivar/efivar.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-03-03 20:22:56 +0000
committerWarner Losh <imp@FreeBSD.org>2017-03-03 20:22:56 +0000
commit80967c8e1c64f16ef3b2d9d3457743d4ef50b38d (patch)
tree99ef5f9e27355411e65f21e37f1286d7a013282e /lib/libefivar/efivar.c
parente17455133255f2906b9b1aab4cadf516ab4c6674 (diff)
downloadsrc-80967c8e1c64f16ef3b2d9d3457743d4ef50b38d.tar.gz
src-80967c8e1c64f16ef3b2d9d3457743d4ef50b38d.zip
Only compile the known uuid table once.
Sponsored by: Netflix
Notes
Notes: svn path=/head/; revision=314616
Diffstat (limited to 'lib/libefivar/efivar.c')
-rw-r--r--lib/libefivar/efivar.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libefivar/efivar.c b/lib/libefivar/efivar.c
index a0f51f1135f8..50e11940d30e 100644
--- a/lib/libefivar/efivar.c
+++ b/lib/libefivar/efivar.c
@@ -88,7 +88,10 @@ efi_guid_tbl_compile(void)
{
size_t i;
uint32_t status;
+ static int done = 0;
+ if (done)
+ return;
for (i = 0; i < nitems(guid_tbl); i++) {
uuid_from_string(guid_tbl[i].uuid_str, &guid_tbl[i].guid,
&status);
@@ -97,6 +100,7 @@ efi_guid_tbl_compile(void)
fprintf(stderr, "Can't convert %s to a uuid for %s: %d\n",
guid_tbl[i].uuid_str, guid_tbl[i].name, (int)status);
}
+ done = 1;
}
int