Revision: 1879
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1879
Author:   fzielcke
Date:     2008-09-28 14:19:00 +0000 (Sun, 28 Sep 2008)

Log Message:
-----------
008-09-28  Felix Zielcke  <[EMAIL PROTECTED]>

        fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
        Based on code from Tomas Ebenlendr <[EMAIL PROTECTED]>.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/fs/jfs.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2008-09-28 03:35:49 UTC (rev 1878)
+++ trunk/grub2/ChangeLog       2008-09-28 14:19:00 UTC (rev 1879)
@@ -1,3 +1,8 @@
+008-09-28  Felix Zielcke  <[EMAIL PROTECTED]>
+
+       fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
+       Based on code from Tomas Ebenlendr <[EMAIL PROTECTED]>.
+
 2008-09-28  Bean  <[EMAIL PROTECTED]>
 
        * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.

Modified: trunk/grub2/fs/jfs.c
===================================================================
--- trunk/grub2/fs/jfs.c        2008-09-28 03:35:49 UTC (rev 1878)
+++ trunk/grub2/fs/jfs.c        2008-09-28 14:19:00 UTC (rev 1879)
@@ -614,8 +614,8 @@
   if (grub_jfs_read_inode (data, GRUB_JFS_AGGR_INODE, &data->currinode))
     return grub_errno;
 
-  /* Skip the first slash.  */
-  if (name[0] == '/')
+  /* Skip the first slashes.  */
+  while (*name == '/')
     {
       name++;
       if (!*name)
@@ -626,10 +626,12 @@
   next = grub_strchr (name, '/');
   if (next)
     {
-      next[0] = '\0';
-      next++;
+      while (*next == '/')
+       {
+         next[0] = '\0';
+         next++;
+       }
     }
-  
   diro = grub_jfs_opendir (data, &data->currinode);
   if (!diro)
     return grub_errno;




Reply via email to