[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re: [patch] GRUB possible patches
From: |
gburanov |
Subject: |
Re: Re: [patch] GRUB possible patches |
Date: |
Fri, 12 Feb 2010 09:20:43 -0500 |
Hello,
> It is. Can you write a ChangeLog entry?
Done
> ;1 is so called version. Basically all terminating ;<number> have to be
> stripped but only if filename doesn't come from rockridge or joliet.
> Apparently nobody uses grub2 on non-rockridge, non-joliet iso. While
> this bug should be fixed using grub from plain iso isn't supported due
> to filename length limitation.
I found out that I got versioning even on joliet CD. I created CD using "Small
CD Writer". You can try the same. I created patch for that as well, but of
course you can skip it.
Regards,
Georgy
PS: My Patch
=== modified file 'ChangeLog'
--- ChangeLog 2010-02-10 19:27:12 +0000
+++ ChangeLog 2010-02-12 14:14:46 +0000
@@ -1,3 +1,8 @@
+2010-02-12 Georgy Buranov <address@hidden>
+
+ * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix bug obtaining
device name of the whole disk
+ * fs/iso9660.c (grub_iso9660_iterate_dir): Remove file versions from
ISO9660&Joliet file names
+
2010-02-10 Vladimir Serbinenko <address@hidden>
Pass SIMPLE framebuffer size in bytes and not 64K blocks.
=== modified file 'disk/efi/efidisk.c'
--- disk/efi/efidisk.c 2010-01-20 08:12:47 +0000
+++ disk/efi/efidisk.c 2010-02-12 14:05:23 +0000
@@ -825,7 +825,7 @@
if (! disk)
return 1;
- if (disk->id == GRUB_DISK_DEVICE_EFIDISK_ID)
+ if (disk->dev->id == GRUB_DISK_DEVICE_EFIDISK_ID)
{
struct grub_efidisk_data *d;
=== modified file 'fs/iso9660.c'
--- fs/iso9660.c 2010-01-27 03:11:20 +0000
+++ fs/iso9660.c 2010-02-12 14:13:01 +0000
@@ -615,9 +615,6 @@
if (!filename)
{
name[dirent.namelen] = '\0';
- filename = grub_strrchr (name, ';');
- if (filename)
- *filename = '\0';
if (dirent.namelen == 1 && name[0] == 0)
filename = ".";
@@ -640,6 +637,14 @@
filename_alloc = 1;
}
+
+ if (!dir->data->rockridge)
+ {
+ // On simple ISO 9660 disks and on joliet, we need to remove file
version, if any
+ char* lastSymbol = grub_strrchr (filename, ';');
+ if (lastSymbol)
+ *lastSymbol = '\0';
+ }
if (hook (filename, type, node))
{
--
This message was sent on behalf of address@hidden at openSubscriber.com
http://www.opensubscriber.com/message/address@hidden/13415591.html