diff options
Diffstat (limited to 'core/efibootmgr/efibootmgr-tilt_slashes-func.patch')
-rw-r--r-- | core/efibootmgr/efibootmgr-tilt_slashes-func.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/core/efibootmgr/efibootmgr-tilt_slashes-func.patch b/core/efibootmgr/efibootmgr-tilt_slashes-func.patch new file mode 100644 index 000000000..ce857bb3c --- /dev/null +++ b/core/efibootmgr/efibootmgr-tilt_slashes-func.patch @@ -0,0 +1,61 @@ +diff --git a/src/efibootmgr/efibootmgr.c b/src/efibootmgr/efibootmgr.c +index 236365a..9883961 100644 +--- a/src/efibootmgr/efibootmgr.c ++++ b/src/efibootmgr/efibootmgr.c +@@ -803,6 +803,7 @@ usage() + printf("\t-V | --version return version and exit\n"); + printf("\t-w | --write-signature write unique sig to MBR if needed\n"); + printf("\t-@ | --append-binary-args file append extra args from file (use \"-\" for stdin)\n"); ++ printf("\t | --help show help/usage\n"); + } + + static void +@@ -863,6 +864,7 @@ parse_opts(int argc, char **argv) + {"version", no_argument, 0, 'V'}, + {"write-signature", no_argument, 0, 'w'}, + {"append-binary-args", required_argument, 0, '@'}, ++ {"help", no_argument, 0, 2}, + {0, 0, 0, 0} + }; + +@@ -1014,6 +1016,10 @@ parse_opts(int argc, char **argv) + opts.write_signature = 1; + break; + ++ case 2: ++ usage(); ++ exit(1); ++ + default: + usage(); + exit(1); +diff --git a/src/lib/efi.c b/src/lib/efi.c +index a4ce5cf..8ef8be8 100644 +--- a/src/lib/efi.c ++++ b/src/lib/efi.c +@@ -70,6 +70,16 @@ efi_guid_unparse(efi_guid_t *guid, char *out) + return out; + } + ++char * ++tilt_slashes(char *s) ++{ ++ char *p; ++ for (p = s; *p; p++) ++ if (*p == '/') ++ *p = '\\'; ++ return s; ++} ++ + void + set_fs_kernel_calls() + { +@@ -535,7 +545,7 @@ char *make_disk_load_option(char *p, char *disk) + signature, + mbr_type, signature_type); + +- efichar_from_char(os_loader_path, opts.loader, sizeof(os_loader_path)); ++ efichar_from_char(os_loader_path, tilt_slashes(opts.loader), sizeof(os_loader_path)); + p += make_file_path_device_path (p, os_loader_path); + p += make_end_device_path (p); + |