}
break;
}
- case 0x6c65:
+ case 0x6c78:
{
- /* Experimental 'el' field */
+ /* Experimental 'xl' field */
/*
* Introduced Dec 2013 to provide a way to
* include external file attributes in local file
unsigned char *p;
};
-/* Bits used to enable/disable certain experimental features. */
-#define EXPERIMENT_LA 1
-#define EXPERIMENTS_ALL 0xffff
-
struct zip {
int64_t entry_offset;
#define ZIP_FLAG_AVOID_ZIP64 1
#define ZIP_FLAG_FORCE_ZIP64 2
-#define ZIP_FLAG_EXPERIMENT_EL 4
+#define ZIP_FLAG_EXPERIMENT_xl 4
int flags;
#ifdef HAVE_ZLIB_H
return (ret);
} else if (strcmp(key, "experimental") == 0) {
if (val == NULL || val[0] == 0) {
- zip->flags &= ~ ZIP_FLAG_EXPERIMENT_EL;
+ zip->flags &= ~ ZIP_FLAG_EXPERIMENT_xl;
} else {
- zip->flags |= ZIP_FLAG_EXPERIMENT_EL;
+ zip->flags |= ZIP_FLAG_EXPERIMENT_xl;
}
return (ARCHIVE_OK);
} else if (strcmp(key, "fakecrc32") == 0) {
archive_le16enc(zip64_start + 2, e - (zip64_start + 4));
}
- if (zip->flags & ZIP_FLAG_EXPERIMENT_EL) {
- /* Experimental 'el' extension to improve streaming. */
+ if (zip->flags & ZIP_FLAG_EXPERIMENT_xl) {
+ /* Experimental 'xl' extension to improve streaming. */
unsigned char *external_info = e;
int included = 7;
- memcpy(e, "el\000\000", 4); // 0x6c65 + 2-byte length
+ memcpy(e, "xl\000\000", 4); // 0x6c65 + 2-byte length
e += 4;
e[0] = included; /* bitmap of included fields */
e += 1;
assertEqualInt(i4(q + 11), file_gid); /* 'Ux' GID */
q = q + 4 + i2(q + 2);
- assertEqualInt(i2(q), 0x6c65); /* 'el' experimental extension header */
+ assertEqualInt(i2(q), 0x6c78); /* 'xl' experimental extension header */
assertEqualInt(i2(q + 2), 9); /* size */
assertEqualInt(q[4], 7); /* Bitmap of fields included. */
assertEqualInt(i2(q + 5) >> 8, 3); /* system & version made by */
assertEqualInt(i4(q + 11), folder_gid); /* 'ux' GID */
q = q + 4 + i2(q + 2);
- assertEqualInt(i2(q), 0x6c65); /* 'el' experimental extension header */
+ assertEqualInt(i2(q), 0x6c78); /* 'xl' experimental extension header */
assertEqualInt(i2(q + 2), 9); /* size */
assertEqualInt(q[4], 7); /* bitmap of fields */
assertEqualInt(i2(q + 5) >> 8, 3); /* system & version made by */
assertEqualInt(i4(p + 11), file_gid); /* 'Ux' GID */
p += 4 + i2(p + 2);
- assertEqualInt(i2(p), 0x6c65); /* 'el' experimental extension block */
+ assertEqualInt(i2(p), 0x6c78); /* 'xl' experimental extension block */
assertEqualInt(i2(p + 2), 9); /* size */
assertEqualInt(p[4], 7); /* bitmap of fields in this block */
assertEqualInt(i2(p + 5) >> 8, 3); /* System & version made by */
/* compressed file size we can't verify here */
p += 4 + i2(p + 2);
- assertEqualInt(i2(p), 0x6c65); /* 'el' experimental extension header */
+ assertEqualInt(i2(p), 0x6c78); /* 'xl' experimental extension header */
assertEqualInt(i2(p + 2), 9); /* size */
assertEqualInt(p[4], 7); /* bitmap of included fields */
assertEqualInt(i2(p + 5) >> 8, 3); /* system & version made by */