浏览代码

(flush_write): Warn when the name of the archive
straddling volume boundary is longer than 100 characters. Earlier
behavior was to issue a fatal error.
(struct zip_magic): Reverted part of changes from 2005-04-04.
They make the maintenance too costly. Removing `unsigned'
qualifier from `magic' member should be enough.

Sergey Poznyakoff 20 年之前
父节点
当前提交
c861b96651
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      src/buffer.c

+ 5 - 5
src/buffer.c

@@ -160,9 +160,9 @@ struct zip_magic
 {
   enum compress_type type;
   size_t length;
-  char magic[sizeof "BZh" - 1];
-  char program[sizeof "compress"];
-  char option[sizeof "-Z"];
+  char *magic;
+  char *program;
+  char *option;
 };
 
 static struct zip_magic const magic[] = {
@@ -653,8 +653,8 @@ flush_write (void)
 	record_start++;
 
       if (strlen (real_s_name) > NAME_FIELD_SIZE)
-	FATAL_ERROR ((0, 0,
-		      _("%s: file name too long to be stored in a GNU multivolume header"),
+	WARN ((0, 0,
+	      _("%s: file name too long to be stored in a GNU multivolume header, truncated"),
 		      quotearg_colon (real_s_name)));
 
       memset (record_start, 0, BLOCKSIZE);