+2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
+
2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
continue;
{
- char buffer[sizeof ("ieee1275/") + grub_strlen (ent->shortest)];
- char *ptr;
- ptr = grub_stpcpy (buffer, "ieee1275/");
- grub_strcpy (ptr, ent->shortest);
+ char buffer[sizeof ("ieee1275/") + 2 * grub_strlen (ent->shortest)];
+ const char *iptr;
+ char *optr;
+ optr = grub_stpcpy (buffer, "ieee1275/");
+ for (iptr = ent->shortest; *iptr; iptr++)
+ {
+ if (*iptr == ',')
+ *optr++ = '\\';
+ *optr++ = *iptr++;
+ }
+ *optr = 0;
if (hook (buffer))
return 1;
}