Merge tag 'upstream/1.6'
[debian/gzip] / zip.c
diff --git a/zip.c b/zip.c
index 6b6d527da19a17a1441f9a55c9257a633da1fe30..b0b1db136a5a8b23d681bed07805c5b8a63d25e1 100644 (file)
--- a/zip.c
+++ b/zip.c
@@ -1,11 +1,11 @@
 /* zip.c -- compress files to the gzip or pkzip format
 
 /* zip.c -- compress files to the gzip or pkzip format
 
-   Copyright (C) 1997, 1998, 1999, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997-1999, 2006-2007, 2009-2013 Free Software Foundation, Inc.
    Copyright (C) 1992-1993 Jean-loup Gailly
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    Copyright (C) 1992-1993 Jean-loup Gailly
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    This program is distributed in the hope that it will be useful,
    any later version.
 
    This program is distributed in the hope that it will be useful,
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
-#ifdef RCSID
-static char rcsid[] = "$Id: zip.c,v 1.6 2006/12/11 18:54:39 eggert Exp $";
-#endif
-
 #include <config.h>
 #include <ctype.h>
 
 #include "tailor.h"
 #include "gzip.h"
 #include <config.h>
 #include <ctype.h>
 
 #include "tailor.h"
 #include "gzip.h"
-#include "crypt.h"
-
-#include "timespec.h"
 
 
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#  include <fcntl.h>
-#endif
+#include <unistd.h>
+#include <fcntl.h>
 
 local ulg crc;       /* crc on uncompressed file data */
 off_t header_bytes;   /* number of bytes in gzip header */
 
 local ulg crc;       /* crc on uncompressed file data */
 off_t header_bytes;   /* number of bytes in gzip header */
@@ -65,12 +54,12 @@ int zip(in, out)
     put_byte(DEFLATED);      /* compression method */
 
     if (save_orig_name) {
     put_byte(DEFLATED);      /* compression method */
 
     if (save_orig_name) {
-       flags |= ORIG_NAME;
+        flags |= ORIG_NAME;
     }
     put_byte(flags);         /* general flags */
     stamp = (0 <= time_stamp.tv_sec && time_stamp.tv_sec <= 0xffffffff
     }
     put_byte(flags);         /* general flags */
     stamp = (0 <= time_stamp.tv_sec && time_stamp.tv_sec <= 0xffffffff
-            ? (ulg) time_stamp.tv_sec
-            : (ulg) 0);
+             ? (ulg) time_stamp.tv_sec
+             : (ulg) 0);
     put_long (stamp);
 
     /* Write deflated file to zip file */
     put_long (stamp);
 
     /* Write deflated file to zip file */
@@ -84,29 +73,29 @@ int zip(in, out)
     put_byte(OS_CODE);            /* OS identifier */
 
     if (save_orig_name) {
     put_byte(OS_CODE);            /* OS identifier */
 
     if (save_orig_name) {
-       char *p = gzip_base_name (ifname); /* Don't save the directory part. */
-       do {
-           put_char(*p);
-       } while (*p++);
+        char *p = gzip_base_name (ifname); /* Don't save the directory part. */
+        do {
+            put_byte (*p);
+        } while (*p++);
     }
     header_bytes = (off_t)outcnt;
 
     (void)deflate();
 
     }
     header_bytes = (off_t)outcnt;
 
     (void)deflate();
 
-#if !defined(NO_SIZE_CHECK) && !defined(RECORD_IO)
+#ifndef NO_SIZE_CHECK
   /* Check input size (but not in VMS -- variable record lengths mess it up)
    * and not on MSDOS -- diet in TSR mode reports an incorrect file size)
    */
     if (ifile_size != -1L && bytes_in != ifile_size) {
   /* Check input size (but not in VMS -- variable record lengths mess it up)
    * and not on MSDOS -- diet in TSR mode reports an incorrect file size)
    */
     if (ifile_size != -1L && bytes_in != ifile_size) {
-       fprintf(stderr, "%s: %s: file size changed while zipping\n",
-               program_name, ifname);
+        fprintf(stderr, "%s: %s: file size changed while zipping\n",
+                program_name, ifname);
     }
 #endif
 
     /* Write the crc and uncompressed size */
     put_long(crc);
     put_long((ulg)bytes_in);
     }
 #endif
 
     /* Write the crc and uncompressed size */
     put_long(crc);
     put_long((ulg)bytes_in);
-    header_bytes += 2*sizeof(long);
+    header_bytes += 2*4;
 
     flush_outbuf();
     return OK;
 
     flush_outbuf();
     return OK;
@@ -129,8 +118,8 @@ int file_read(buf, size)
     len = read_buffer (ifd, buf, size);
     if (len == 0) return (int)len;
     if (len == (unsigned)-1) {
     len = read_buffer (ifd, buf, size);
     if (len == 0) return (int)len;
     if (len == (unsigned)-1) {
-       read_error();
-       return EOF;
+        read_error();
+        return EOF;
     }
 
     crc = updcrc((uch*)buf, len);
     }
 
     crc = updcrc((uch*)buf, len);