]> Cypherpunks repositories - gostls13.git/commitdiff
archive/zip: add documentation about compression methods
authorJoe Kyo <xunianzu@gmail.com>
Wed, 15 Nov 2017 10:24:21 +0000 (10:24 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 16 Nov 2017 01:31:52 +0000 (01:31 +0000)
Change-Id: I491c5ddd1a5d8e55f8e6bb9377bc3811e42773f8
Reviewed-on: https://go-review.googlesource.com/77870
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/archive/zip/struct.go
src/archive/zip/writer.go

index 00c15e4931a98332922257b204eb2c55bfbc5796..63fa0b3b4d063a2489d9d3d903dbbe17c0b67a9c 100644 (file)
@@ -27,8 +27,8 @@ import (
 
 // Compression methods.
 const (
-       Store   uint16 = 0
-       Deflate uint16 = 8
+       Store   uint16 = 0 // no compression
+       Deflate uint16 = 8 // DEFLATE compressed
 )
 
 const (
@@ -102,7 +102,9 @@ type FileHeader struct {
        CreatorVersion uint16
        ReaderVersion  uint16
        Flags          uint16
-       Method         uint16
+
+       // Method is the compression method. If zero, Store is used.
+       Method uint16
 
        // Modified is the modified time of the file.
        //
@@ -153,6 +155,8 @@ func (fi headerFileInfo) Sys() interface{}   { return fi.fh }
 // Because os.FileInfo's Name method returns only the base name of
 // the file it describes, it may be necessary to modify the Name field
 // of the returned header to provide the full path name of the file.
+// If compression is desired, callers should set the FileHeader.Method
+// field; it is unset by default.
 func FileInfoHeader(fi os.FileInfo) (*FileHeader, error) {
        size := fi.Size()
        fh := &FileHeader{
index ad8457c95a8ae672f58569b4d7a982865db4e581..ebb2a2edd08626dd83630395c9fd9e9fa96daa67 100644 (file)
@@ -202,6 +202,7 @@ func (w *Writer) Close() error {
 
 // Create adds a file to the zip file using the provided name.
 // It returns a Writer to which the file contents should be written.
+// The file contents will be compressed using the Deflate method.
 // The name must be a relative path: it must not start with a drive
 // letter (e.g. C:) or leading slash, and only forward slashes are
 // allowed.