make tar restore mode again
[oweals/busybox.git] / archival / libunarchive / check_header_gzip.c
index d661df7ccdfadce004f291faacbb3b0a2bfe8a74..0cfa944540338c5a95720aef6de03075acc977c7 100644 (file)
@@ -1,8 +1,13 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
 #include <stdlib.h>
 #include <unistd.h>
 #include "libbb.h"
+#include "unarchive.h" /* for external decl of check_header_gzip */
 
-extern void check_header_gzip(int src_fd)
+void check_header_gzip(int src_fd)
 {
        union {
                unsigned char raw[8];
@@ -12,18 +17,18 @@ extern void check_header_gzip(int src_fd)
                        unsigned int mtime;
                        unsigned char xtra_flags;
                        unsigned char os_flags;
-               } formated;
+               } formatted;
        } header;
 
-       xread_all(src_fd, header.raw, 8);
+       xread(src_fd, header.raw, 8);
 
        /* Check the compression method */
-       if (header.formated.method != 8) {
-               error_msg_and_die("Unknown compression method %d",
-                                                 header.formated.method);
+       if (header.formatted.method != 8) {
+               bb_error_msg_and_die("unknown compression method %d",
+                                                 header.formatted.method);
        }
 
-       if (header.formated.flags & 0x04) {
+       if (header.formatted.flags & 0x04) {
                /* bit 2 set: extra field present */
                unsigned char extra_short;
 
@@ -36,19 +41,19 @@ extern void check_header_gzip(int src_fd)
        }
 
        /* Discard original name if any */
-       if (header.formated.flags & 0x08) {
+       if (header.formatted.flags & 0x08) {
                /* bit 3 set: original file name present */
-               while(xread_char(src_fd) != 0);
+               while (xread_char(src_fd) != 0);
        }
 
        /* Discard file comment if any */
-       if (header.formated.flags & 0x10) {
+       if (header.formatted.flags & 0x10) {
                /* bit 4 set: file comment present */
-               while(xread_char(src_fd) != 0);
+               while (xread_char(src_fd) != 0);
        }
 
        /* Read the header checksum */
-       if (header.formated.flags & 0x02) {
+       if (header.formatted.flags & 0x02) {
                xread_char(src_fd);
                xread_char(src_fd);
        }