|
From: | Andrei Borzenkov |
Subject: | Re: Grub get and set efi variables |
Date: | Sat, 14 Nov 2015 07:03:01 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
13.11.2015 22:42, Ignat Korchagin пишет:
+static enum efi_var_type +parse_efi_var_type (const char *type) +{ + if (!grub_strncmp (type, "string", sizeof("string"))) + return EFI_VAR_STRING; +I think this should be "ascii" or "utf8". "string" is too ambiguous in UEFI environment, it can also mean sequence of UCS-2 characters.I'm still not sure how exactly GRUB + UEFI interprets "raw buffers" when printing. Maybe, to avoid confusion, it might be better to completely remove this option. Basically, you do not want to interpret raw buffers as strings. For best compatibility "hex" mode should be promoted, I guess. What do you think?Checked again the UEFI spec. For globally defined variables which are strings they specify ASCII. So if we leave this option, ascii is the best name.
What about- ascii - print ASCII characters verbatim, escape non-ASCII in usual way (similar to "od -c")
- raw - simply put raw variable without any interpretation.This is better aligned with argument describing output formatting rather than attempting to "type" variable.
Alternative (or in addition to) ascii - dump which prints usual pretty hex dump of content (hexdump -C). This is handy to interactively look at variable content.
Or, and change name from --type to --format :)
[Prev in Thread] | Current Thread | [Next in Thread] |