summaryrefslogtreecommitdiff
path: root/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/grub2-pcbsd/files/patch-util_grub-probe.c')
-rw-r--r--sysutils/grub2-pcbsd/files/patch-util_grub-probe.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c b/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
new file mode 100644
index 000000000000..eb75b0c1587e
--- /dev/null
+++ b/sysutils/grub2-pcbsd/files/patch-util_grub-probe.c
@@ -0,0 +1,19 @@
+--- util/grub-probe.c.orig 2015-06-03 14:54:01 UTC
++++ util/grub-probe.c
+@@ -805,7 +805,16 @@ argp_parser (int key, char *arg, struct
+
+ case ARGP_KEY_ARG:
+ assert (arguments->ndevices < arguments->device_max);
++#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
++ /* Check if passing a FreeBSD geom label */
++ if ( grub_util_check_geom_label(arg) )
++ arguments->devices[arguments->ndevices++] = \
++ xstrdup(grub_util_convert_geom_label_to_dev (arg + sizeof ("/dev/") - 1, 1));
++ else
++ arguments->devices[arguments->ndevices++] = xstrdup(arg);
++#else
+ arguments->devices[arguments->ndevices++] = xstrdup(arg);
++#endif
+ break;
+
+ default: