From 3b7ad1680fa6b97fff29f0af18795bd5f0f6a95a Mon Sep 17 00:00:00 2001 From: Yury Smolsky Date: Sun, 25 Feb 2018 16:34:35 +0200 Subject: [PATCH] archive/zip: improve Writer.Create documentation on how to add directories FileHeader.Name also reflects this fact. Fixes #24018 Change-Id: Id0860a9b23c264ac4c6ddd65ba20e0f1f36e4865 Reviewed-on: https://go-review.googlesource.com/97057 Reviewed-by: Joe Tsai --- src/archive/zip/struct.go | 3 ++- src/archive/zip/writer.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/archive/zip/struct.go b/src/archive/zip/struct.go index f613ebdc34..36b551ec2c 100644 --- a/src/archive/zip/struct.go +++ b/src/archive/zip/struct.go @@ -82,7 +82,8 @@ const ( type FileHeader struct { // Name is the name of the file. // It must be a relative path, not start with a drive letter (e.g. C:), - // and must use forward slashes instead of back slashes. + // and must use forward slashes instead of back slashes. A trailing slash + // indicates that this file is a directory and should have no data. Name string // Comment is any arbitrary user-defined string shorter than 64KiB. diff --git a/src/archive/zip/writer.go b/src/archive/zip/writer.go index 14a5ee48c1..12675d60a0 100644 --- a/src/archive/zip/writer.go +++ b/src/archive/zip/writer.go @@ -209,7 +209,8 @@ func (w *Writer) Close() error { // 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. +// allowed. To create a directory instead of a file, add a trailing +// slash to the name. // The file's contents must be written to the io.Writer before the next // call to Create, CreateHeader, or Close. func (w *Writer) Create(name string) (io.Writer, error) { -- 2.50.0