]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-05-13 Pavel Roskin <proski@gnu.org>
authorproski <proski@localhost>
Wed, 13 May 2009 19:16:55 +0000 (19:16 +0000)
committerproski <proski@localhost>
Wed, 13 May 2009 19:16:55 +0000 (19:16 +0000)
* fs/cpio.c: Use the same name "struct head" for tar and cpio to
facilitate code reuse.
(grub_cpio_mount): Use "struct head", not a char buffer.  This
fixes a warning reported by gcc 4.4.

ChangeLog
fs/cpio.c

index 733a07c97770b681407d0a54bc8c147a1f8f7e32..4aea4cddb3681321fc5b7fd97157b69f84e3493b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-05-13  Pavel Roskin  <proski@gnu.org>
 
+       * fs/cpio.c: Use the same name "struct head" for tar and cpio to
+       facilitate code reuse.
+       (grub_cpio_mount): Use "struct head", not a char buffer.  This
+       fixes a warning reported by gcc 4.4.
+
        * kernel/disk.c (grub_disk_read): Use void pointer for the
        buffer.
        (grub_disk_write): Use const void pointer for the buffer.
index 3ae93a01d4bbe7b0da79835fea33911b52f52d83..0ef263ce5ab0f9a6c028e9793de8ad02b55197df 100644 (file)
--- a/fs/cpio.c
+++ b/fs/cpio.c
 #include <grub/disk.h>
 #include <grub/dl.h>
 
+#ifndef MODE_USTAR
+/* cpio support */
 #define        MAGIC_BCPIO     070707
-
-struct HEAD_BCPIO
+struct head
 {
   grub_uint16_t magic;
   grub_uint16_t dev;
@@ -41,10 +42,10 @@ struct HEAD_BCPIO
   grub_uint16_t filesize_1;
   grub_uint16_t filesize_2;
 } __attribute__ ((packed));
-
+#else
+/* tar support */
 #define MAGIC_USTAR    "ustar"
-
-struct HEAD_USTAR
+struct head
 {
   char name[100];
   char mode[8];
@@ -63,8 +64,7 @@ struct HEAD_USTAR
   char devminor[8];
   char prefix[155];
 } __attribute__ ((packed));
-
-#define HEAD_LENG      sizeof(struct HEAD_USTAR)
+#endif
 
 struct grub_cpio_data
 {
@@ -81,7 +81,7 @@ grub_cpio_find_file (struct grub_cpio_data *data, char **name,
                     grub_uint32_t * ofs)
 {
 #ifndef MODE_USTAR
-      struct HEAD_BCPIO hd;
+      struct head hd;
 
       if (grub_disk_read
          (data->disk, 0, data->hofs, sizeof (hd), &hd))
@@ -117,7 +117,7 @@ grub_cpio_find_file (struct grub_cpio_data *data, char **name,
       if (data->size & 1)
        (*ofs)++;
 #else
-      struct HEAD_USTAR hd;
+      struct head hd;
 
       if (grub_disk_read
          (data->disk, 0, data->hofs, sizeof (hd), &hd))
@@ -146,17 +146,17 @@ grub_cpio_find_file (struct grub_cpio_data *data, char **name,
 static struct grub_cpio_data *
 grub_cpio_mount (grub_disk_t disk)
 {
-  char hd[HEAD_LENG];
+  struct head hd;
   struct grub_cpio_data *data;
 
-  if (grub_disk_read (disk, 0, 0, sizeof (hd), hd))
+  if (grub_disk_read (disk, 0, 0, sizeof (hd), &hd))
     goto fail;
 
 #ifndef MODE_USTAR
-  if (((struct HEAD_BCPIO *) hd)->magic != MAGIC_BCPIO)
+  if (hd.magic != MAGIC_BCPIO)
 #else
-  if (grub_memcmp (((struct HEAD_USTAR *) hd)->magic, MAGIC_USTAR,
-                        sizeof (MAGIC_USTAR) - 1))
+  if (grub_memcmp (hd.magic, MAGIC_USTAR,
+                  sizeof (MAGIC_USTAR) - 1))
 #endif
     goto fail;