[2204] 2009-05-13 Pavel Roskin <[email protected]>

Pavel Roskin <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 2204
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2204
Author:   proski
Date:     2009-05-13 19:16:55 +0000 (Wed, 13 May 2009)
Log Message:
-----------
2009-05-13  Pavel Roskin  <[email protected]>

	* 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.

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

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2009-05-13 18:58:38 UTC (rev 2203)
+++ trunk/grub2/ChangeLog	2009-05-13 19:16:55 UTC (rev 2204)
@@ -1,5 +1,10 @@
 2009-05-13  Pavel Roskin  <[email protected]>
 
+	* 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.

Modified: trunk/grub2/fs/cpio.c
===================================================================
--- trunk/grub2/fs/cpio.c	2009-05-13 18:58:38 UTC (rev 2203)
+++ trunk/grub2/fs/cpio.c	2009-05-13 19:16:55 UTC (rev 2204)
@@ -23,9 +23,10 @@
 #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 @@
   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,9 +64,8 @@
   char devminor[8];
   char prefix[155];
 } __attribute__ ((packed));
+#endif
 
-#define HEAD_LENG	sizeof(struct HEAD_USTAR)
-
 struct grub_cpio_data
 {
   grub_disk_t disk;
@@ -81,7 +81,7 @@
 		     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 @@
       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 @@
 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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.