Add 'set_archive_comment' command to modify.
Remove separate set_comment_removeglobal test program, adapt test.
diff --git a/.hgignore b/.hgignore
index 87780b0..379bbac 100644
--- a/.hgignore
+++ b/.hgignore
@@ -52,7 +52,6 @@
^regress/rename$
^regress/runtest$
^regress/set_comment_all$
-^regress/set_comment_removeglobal$
^regress/set_comment_revert$
^regress/set_compression$
^regress/stat_index$
diff --git a/regress/CMakeLists.txt b/regress/CMakeLists.txt
index c0d3a65..4bbc622 100644
--- a/regress/CMakeLists.txt
+++ b/regress/CMakeLists.txt
@@ -14,7 +14,6 @@
# fread
name_locate
set_comment_all
- set_comment_removeglobal
set_comment_revert
)
diff --git a/regress/Makefile.am b/regress/Makefile.am
index d4274f5..e6d45be 100644
--- a/regress/Makefile.am
+++ b/regress/Makefile.am
@@ -11,7 +11,6 @@
modify \
name_locate \
set_comment_all \
- set_comment_removeglobal \
set_comment_revert \
set_compression \
tryopen
diff --git a/regress/modify.c b/regress/modify.c
index e6f31cd..dc426ce 100644
--- a/regress/modify.c
+++ b/regress/modify.c
@@ -409,6 +409,15 @@
}
static int
+set_archive_comment(int argc, char *argv[]) {
+ if (zip_set_archive_comment(za, argv[0], (zip_uint16_t)strlen(argv[0])) < 0) {
+ fprintf(stderr, "can't set archive comment to `%s': %s\n", argv[0], zip_strerror(za));
+ return -1;
+ }
+ return 0;
+}
+
+static int
set_file_comment(int argc, char *argv[]) {
zip_uint64_t idx;
idx = strtoull(argv[0], NULL, 10);
@@ -772,6 +781,7 @@
{ "get_file_comment", 1, "index", "get file comment", get_file_comment },
{ "rename", 2, "index name", "rename entry", zrename },
{ "replace_file_contents", 2, "index data", "replace entry with data", replace_file_contents },
+ { "set_archive_comment", 1, "comment", "set archive comment", set_archive_comment },
{ "set_extra", 5, "index extra_id extra_index flags value", "set extra field", set_extra },
{ "set_file_comment", 2, "index comment", "set file comment", set_file_comment },
{ "set_file_compression", 3, "index method flags", "set file compression method", set_file_compression },
diff --git a/regress/set_comment_removeglobal.c b/regress/set_comment_removeglobal.c
deleted file mode 100644
index aa18f0f..0000000
--- a/regress/set_comment_removeglobal.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- set_comment_removeglobal.c -- remove archive comment
- Copyright (C) 2006-2014 Dieter Baron and Thomas Klausner
-
- This file is part of libzip, a library to manipulate ZIP archives.
- The authors can be contacted at <libzip@nih.at>
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
- 3. The names of the authors may not be used to endorse or promote
- products derived from this software without specific prior
- written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
- IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "zipint.h"
-
-const char *prg;
-
-int
-main(int argc, char *argv[])
-{
- const char *archive;
- zip_t *za;
- int err;
-
- prg = argv[0];
-
- if (argc != 2) {
- fprintf(stderr, "usage: %s archive\n", prg);
- return 1;
- }
-
- archive = argv[1];
-
- if ((za=zip_open(archive, 0, &err)) == NULL) {
- zip_error_t error;
- zip_error_init_with_code(&error, err);
- fprintf(stderr, "%s: can't open zip archive '%s': %s\n", prg, archive, zip_error_strerror(&error));
- zip_error_fini(&error);
- return 1;
- }
-
- if (zip_set_archive_comment(za, NULL, 0) < 0) {
- fprintf(stderr, "%s: zip_set_archive_comment failed: %s\n", prg, zip_strerror(za));
- }
-
- if (zip_close(za) == -1) {
- fprintf(stderr, "%s: can't close zip archive '%s': %s\n", prg, archive, zip_strerror(za));
- return 1;
- }
-
- return 0;
-}
diff --git a/regress/set_comment_removeglobal.test b/regress/set_comment_removeglobal.test
index b2defe3..f00cf8a 100644
--- a/regress/set_comment_removeglobal.test
+++ b/regress/set_comment_removeglobal.test
@@ -1,5 +1,5 @@
# remove archive comment
-program set_comment_removeglobal
+program modify
return 0
-args testcomment.zip
+args testcomment.zip set_archive_comment ""
file testcomment.zip testcomment.zip testcommentremoved.zip