Update vendor/libarchive to git 2a2488a81599f9cd065a8254b16a6fd48d81c3b4
Vendor bugfixes: PR #843: Fix memory leak of struct archive_entry in cpio/cpio.c PR #851: Spelling fixes Fix two protoypes in manual page archive_read_disk.3
This commit is contained in:
parent
6802f55462
commit
79b08f16f5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/libarchive/dist/; revision=310798
@ -703,6 +703,7 @@ file_to_archive(struct cpio *cpio, const char *srcpath)
|
|||||||
lafe_warnc(0, "%s",
|
lafe_warnc(0, "%s",
|
||||||
archive_error_string(cpio->archive_read_disk));
|
archive_error_string(cpio->archive_read_disk));
|
||||||
if (r <= ARCHIVE_FAILED) {
|
if (r <= ARCHIVE_FAILED) {
|
||||||
|
archive_entry_free(entry);
|
||||||
cpio->return_value = 1;
|
cpio->return_value = 1;
|
||||||
return (r);
|
return (r);
|
||||||
}
|
}
|
||||||
|
@ -471,7 +471,7 @@ archive_match_path_excluded(struct archive *_a,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Utilty functions to get statistic information for inclusion patterns.
|
* Utility functions to get statistic information for inclusion patterns.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
archive_match_path_unmatched_inclusions(struct archive *_a)
|
archive_match_path_unmatched_inclusions(struct archive *_a)
|
||||||
@ -1270,7 +1270,7 @@ set_timefilter_pathname_wcs(struct archive_match *a, int timetype,
|
|||||||
#endif /* _WIN32 && !__CYGWIN__ */
|
#endif /* _WIN32 && !__CYGWIN__ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call back funtions for archive_rb.
|
* Call back functions for archive_rb.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
cmp_node_mbs(const struct archive_rb_node *n1,
|
cmp_node_mbs(const struct archive_rb_node *n1,
|
||||||
@ -1405,7 +1405,7 @@ add_entry(struct archive_match *a, int flag,
|
|||||||
&(a->exclusion_tree), pathname);
|
&(a->exclusion_tree), pathname);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We always overwrite comparison condision.
|
* We always overwrite comparison condition.
|
||||||
* If you do not want to overwrite it, you should not
|
* If you do not want to overwrite it, you should not
|
||||||
* call archive_match_exclude_entry(). We cannot know
|
* call archive_match_exclude_entry(). We cannot know
|
||||||
* what behavior you really expect since overwriting
|
* what behavior you really expect since overwriting
|
||||||
@ -1481,7 +1481,7 @@ time_excluded(struct archive_match *a, struct archive_entry *entry)
|
|||||||
if (nsec == a->older_ctime_nsec &&
|
if (nsec == a->older_ctime_nsec &&
|
||||||
(a->older_ctime_filter & ARCHIVE_MATCH_EQUAL)
|
(a->older_ctime_filter & ARCHIVE_MATCH_EQUAL)
|
||||||
== 0)
|
== 0)
|
||||||
return (1); /* Eeual, skip it. */
|
return (1); /* Equal, skip it. */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (a->newer_mtime_filter) {
|
if (a->newer_mtime_filter) {
|
||||||
@ -1513,7 +1513,7 @@ time_excluded(struct archive_match *a, struct archive_entry *entry)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If there is no excluson list, include the file. */
|
/* If there is no exclusion list, include the file. */
|
||||||
if (a->exclusion_entry_list.count == 0)
|
if (a->exclusion_entry_list.count == 0)
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
@ -1700,7 +1700,7 @@ add_owner_id(struct archive_match *a, struct id_array *ids, int64_t id)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add oowner id. */
|
/* Add owner id. */
|
||||||
if (i == ids->count)
|
if (i == ids->count)
|
||||||
ids->ids[ids->count++] = id;
|
ids->ids[ids->count++] = id;
|
||||||
else if (ids->ids[i] != id) {
|
else if (ids->ids[i] != id) {
|
||||||
|
@ -312,7 +312,7 @@ __archive_rb_tree_insert_rebalance(struct archive_rb_tree *rbt,
|
|||||||
father = RB_FATHER(self);
|
father = RB_FATHER(self);
|
||||||
if (RB_BLACK_P(father)) {
|
if (RB_BLACK_P(father)) {
|
||||||
/*
|
/*
|
||||||
* If our greatgrandpa is black, we're done.
|
* If our great-grandpa is black, we're done.
|
||||||
*/
|
*/
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd February 2, 2012
|
.Dd December 30, 2016
|
||||||
.Dt ARCHIVE_READ_DISK 3
|
.Dt ARCHIVE_READ_DISK 3
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -54,9 +54,9 @@ Streaming Archive Library (libarchive, -larchive)
|
|||||||
.Fn archive_read_disk_set_symlink_physical "struct archive *"
|
.Fn archive_read_disk_set_symlink_physical "struct archive *"
|
||||||
.Ft int
|
.Ft int
|
||||||
.Fn archive_read_disk_set_symlink_hybrid "struct archive *"
|
.Fn archive_read_disk_set_symlink_hybrid "struct archive *"
|
||||||
.Ft int
|
.Ft const char *
|
||||||
.Fn archive_read_disk_gname "struct archive *" "gid_t"
|
.Fn archive_read_disk_gname "struct archive *" "gid_t"
|
||||||
.Ft int
|
.Ft const char *
|
||||||
.Fn archive_read_disk_uname "struct archive *" "uid_t"
|
.Fn archive_read_disk_uname "struct archive *" "uid_t"
|
||||||
.Ft int
|
.Ft int
|
||||||
.Fo archive_read_disk_set_gname_lookup
|
.Fo archive_read_disk_set_gname_lookup
|
||||||
|
@ -374,7 +374,7 @@ struct iso9660 {
|
|||||||
size_t utf16be_path_len;
|
size_t utf16be_path_len;
|
||||||
unsigned char *utf16be_previous_path;
|
unsigned char *utf16be_previous_path;
|
||||||
size_t utf16be_previous_path_len;
|
size_t utf16be_previous_path_len;
|
||||||
/* Null buufer used in bidder to improve its performance. */
|
/* Null buffer used in bidder to improve its performance. */
|
||||||
unsigned char null[2048];
|
unsigned char null[2048];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1199,7 +1199,7 @@ archive_read_format_iso9660_read_header(struct archive_read *a,
|
|||||||
archive_string_conversion_from_charset(
|
archive_string_conversion_from_charset(
|
||||||
&(a->archive), "UTF-16BE", 1);
|
&(a->archive), "UTF-16BE", 1);
|
||||||
if (iso9660->sconv_utf16be == NULL)
|
if (iso9660->sconv_utf16be == NULL)
|
||||||
/* Coundn't allocate memory */
|
/* Couldn't allocate memory */
|
||||||
return (ARCHIVE_FATAL);
|
return (ARCHIVE_FATAL);
|
||||||
}
|
}
|
||||||
if (iso9660->utf16be_path == NULL) {
|
if (iso9660->utf16be_path == NULL) {
|
||||||
@ -2407,7 +2407,7 @@ read_CE(struct archive_read *a, struct iso9660 *iso9660)
|
|||||||
return (ARCHIVE_FATAL);
|
return (ARCHIVE_FATAL);
|
||||||
} while (heap->cnt &&
|
} while (heap->cnt &&
|
||||||
heap->reqs[0].offset == iso9660->current_position);
|
heap->reqs[0].offset == iso9660->current_position);
|
||||||
/* NOTE: Do not move this consume's code to fron of
|
/* NOTE: Do not move this consume's code to front of
|
||||||
* do-while loop. Registration of nested CE extension
|
* do-while loop. Registration of nested CE extension
|
||||||
* might cause error because of current position. */
|
* might cause error because of current position. */
|
||||||
__archive_read_consume(a, step);
|
__archive_read_consume(a, step);
|
||||||
@ -2729,7 +2729,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
|||||||
if (file == NULL) {
|
if (file == NULL) {
|
||||||
/*
|
/*
|
||||||
* If directory entries all which are descendant of
|
* If directory entries all which are descendant of
|
||||||
* rr_moved are stil remaning, expose their.
|
* rr_moved are still remaining, expose their.
|
||||||
*/
|
*/
|
||||||
if (iso9660->re_files.first != NULL &&
|
if (iso9660->re_files.first != NULL &&
|
||||||
iso9660->rr_moved != NULL &&
|
iso9660->rr_moved != NULL &&
|
||||||
@ -2852,7 +2852,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
|||||||
empty_files.last = &empty_files.first;
|
empty_files.last = &empty_files.first;
|
||||||
/* Collect files which has the same file serial number.
|
/* Collect files which has the same file serial number.
|
||||||
* Peek pending_files so that file which number is different
|
* Peek pending_files so that file which number is different
|
||||||
* is not put bak. */
|
* is not put back. */
|
||||||
while (iso9660->pending_files.used > 0 &&
|
while (iso9660->pending_files.used > 0 &&
|
||||||
(iso9660->pending_files.files[0]->number == -1 ||
|
(iso9660->pending_files.files[0]->number == -1 ||
|
||||||
iso9660->pending_files.files[0]->number == number)) {
|
iso9660->pending_files.files[0]->number == number)) {
|
||||||
@ -2860,7 +2860,7 @@ next_cache_entry(struct archive_read *a, struct iso9660 *iso9660,
|
|||||||
/* This file has the same offset
|
/* This file has the same offset
|
||||||
* but it's wrong offset which empty files
|
* but it's wrong offset which empty files
|
||||||
* and symlink files have.
|
* and symlink files have.
|
||||||
* NOTE: This wrong offse was recorded by
|
* NOTE: This wrong offset was recorded by
|
||||||
* old mkisofs utility. If ISO images is
|
* old mkisofs utility. If ISO images is
|
||||||
* created by latest mkisofs, this does not
|
* created by latest mkisofs, this does not
|
||||||
* happen.
|
* happen.
|
||||||
|
@ -308,7 +308,7 @@ struct archive_write_disk {
|
|||||||
#define MAXIMUM_DIR_MODE 0775
|
#define MAXIMUM_DIR_MODE 0775
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Maxinum uncompressed size of a decmpfs block.
|
* Maximum uncompressed size of a decmpfs block.
|
||||||
*/
|
*/
|
||||||
#define MAX_DECMPFS_BLOCK_SIZE (64 * 1024)
|
#define MAX_DECMPFS_BLOCK_SIZE (64 * 1024)
|
||||||
/*
|
/*
|
||||||
@ -323,7 +323,7 @@ struct archive_write_disk {
|
|||||||
#define RSRC_F_SIZE 50 /* Size of Resource fork footer. */
|
#define RSRC_F_SIZE 50 /* Size of Resource fork footer. */
|
||||||
/* Size to write compressed data to resource fork. */
|
/* Size to write compressed data to resource fork. */
|
||||||
#define COMPRESSED_W_SIZE (64 * 1024)
|
#define COMPRESSED_W_SIZE (64 * 1024)
|
||||||
/* decmpfs difinitions. */
|
/* decmpfs definitions. */
|
||||||
#define MAX_DECMPFS_XATTR_SIZE 3802
|
#define MAX_DECMPFS_XATTR_SIZE 3802
|
||||||
#ifndef DECMPFS_XATTR_NAME
|
#ifndef DECMPFS_XATTR_NAME
|
||||||
#define DECMPFS_XATTR_NAME "com.apple.decmpfs"
|
#define DECMPFS_XATTR_NAME "com.apple.decmpfs"
|
||||||
@ -632,9 +632,9 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
|
|||||||
/*
|
/*
|
||||||
* NOTE: UF_COMPRESSED is ignored even if the filesystem
|
* NOTE: UF_COMPRESSED is ignored even if the filesystem
|
||||||
* supports HFS+ Compression because the file should
|
* supports HFS+ Compression because the file should
|
||||||
* have at least an extended attriute "com.apple.decmpfs"
|
* have at least an extended attribute "com.apple.decmpfs"
|
||||||
* before the flag is set to indicate that the file have
|
* before the flag is set to indicate that the file have
|
||||||
* been compressed. If hte filesystem does not support
|
* been compressed. If the filesystem does not support
|
||||||
* HFS+ Compression the system call will fail.
|
* HFS+ Compression the system call will fail.
|
||||||
*/
|
*/
|
||||||
if (a->fd < 0 || fchflags(a->fd, UF_COMPRESSED) != 0)
|
if (a->fd < 0 || fchflags(a->fd, UF_COMPRESSED) != 0)
|
||||||
@ -1247,7 +1247,7 @@ hfs_drive_compressor(struct archive_write_disk *a, const char *buff,
|
|||||||
ret = hfs_write_compressed_data(a, bytes_used + rsrc_size);
|
ret = hfs_write_compressed_data(a, bytes_used + rsrc_size);
|
||||||
a->compressed_buffer_remaining = a->compressed_buffer_size;
|
a->compressed_buffer_remaining = a->compressed_buffer_size;
|
||||||
|
|
||||||
/* If the compressed size is not enouph smaller than
|
/* If the compressed size is not enough smaller than
|
||||||
* the uncompressed size. cancel HFS+ compression.
|
* the uncompressed size. cancel HFS+ compression.
|
||||||
* TODO: study a behavior of ditto utility and improve
|
* TODO: study a behavior of ditto utility and improve
|
||||||
* the condition to fall back into no HFS+ compression. */
|
* the condition to fall back into no HFS+ compression. */
|
||||||
@ -1352,7 +1352,7 @@ hfs_write_decmpfs_block(struct archive_write_disk *a, const char *buff,
|
|||||||
(uint32_t *)(a->resource_fork + RSRC_H_SIZE);
|
(uint32_t *)(a->resource_fork + RSRC_H_SIZE);
|
||||||
/* Set the block count to the resource fork. */
|
/* Set the block count to the resource fork. */
|
||||||
archive_le32enc(a->decmpfs_block_info++, block_count);
|
archive_le32enc(a->decmpfs_block_info++, block_count);
|
||||||
/* Get the position where we are goint to set compressed
|
/* Get the position where we are going to set compressed
|
||||||
* data. */
|
* data. */
|
||||||
a->compressed_rsrc_position =
|
a->compressed_rsrc_position =
|
||||||
RSRC_H_SIZE + 4 + (block_count * 8);
|
RSRC_H_SIZE + 4 + (block_count * 8);
|
||||||
@ -1425,7 +1425,7 @@ hfs_write_data_block(struct archive_write_disk *a, const char *buff,
|
|||||||
bytes_to_write = size;
|
bytes_to_write = size;
|
||||||
/* Seek if necessary to the specified offset. */
|
/* Seek if necessary to the specified offset. */
|
||||||
if (a->offset < a->fd_offset) {
|
if (a->offset < a->fd_offset) {
|
||||||
/* Can't support backword move. */
|
/* Can't support backward move. */
|
||||||
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
|
||||||
"Seek failed");
|
"Seek failed");
|
||||||
return (ARCHIVE_FATAL);
|
return (ARCHIVE_FATAL);
|
||||||
|
@ -161,7 +161,7 @@ struct isofile {
|
|||||||
/* Used for managing struct isofile list. */
|
/* Used for managing struct isofile list. */
|
||||||
struct isofile *allnext;
|
struct isofile *allnext;
|
||||||
struct isofile *datanext;
|
struct isofile *datanext;
|
||||||
/* Used for managing a hardlined struct isofile list. */
|
/* Used for managing a hardlinked struct isofile list. */
|
||||||
struct isofile *hlnext;
|
struct isofile *hlnext;
|
||||||
struct isofile *hardlink_target;
|
struct isofile *hardlink_target;
|
||||||
|
|
||||||
@ -528,7 +528,7 @@ struct iso_option {
|
|||||||
* - allow more then 8 depths of directory trees;
|
* - allow more then 8 depths of directory trees;
|
||||||
* - disable a version number to a File Name;
|
* - disable a version number to a File Name;
|
||||||
* - disable a forced period to the tail of a File Name;
|
* - disable a forced period to the tail of a File Name;
|
||||||
* - the maxinum length of files and directories is raised to 193.
|
* - the maximum length of files and directories is raised to 193.
|
||||||
* if rockridge option is disabled, raised to 207.
|
* if rockridge option is disabled, raised to 207.
|
||||||
*/
|
*/
|
||||||
unsigned int iso_level:3;
|
unsigned int iso_level:3;
|
||||||
@ -626,7 +626,7 @@ struct iso_option {
|
|||||||
* : NOTE Our rockridge=useful option does not set a zero
|
* : NOTE Our rockridge=useful option does not set a zero
|
||||||
* : to uid and gid, you should use application
|
* : to uid and gid, you should use application
|
||||||
* : option such as --gid,--gname,--uid and --uname
|
* : option such as --gid,--gname,--uid and --uname
|
||||||
* : badtar options instead.
|
* : bsdtar options instead.
|
||||||
* Type : boolean/string
|
* Type : boolean/string
|
||||||
* Default: Enabled as rockridge=useful
|
* Default: Enabled as rockridge=useful
|
||||||
* COMPAT : mkisofs -r / -R
|
* COMPAT : mkisofs -r / -R
|
||||||
@ -660,7 +660,7 @@ struct iso_option {
|
|||||||
* : for making zisofs.
|
* : for making zisofs.
|
||||||
* : When the file size is less than one Logical Block
|
* : When the file size is less than one Logical Block
|
||||||
* : size, that file will not zisofs'ed since it does
|
* : size, that file will not zisofs'ed since it does
|
||||||
* : reduece an ISO-image size.
|
* : reduce an ISO-image size.
|
||||||
* :
|
* :
|
||||||
* : When you specify option 'boot=<boot-image>', that
|
* : When you specify option 'boot=<boot-image>', that
|
||||||
* : 'boot-image' file won't be converted to zisofs file.
|
* : 'boot-image' file won't be converted to zisofs file.
|
||||||
@ -703,7 +703,7 @@ struct iso9660 {
|
|||||||
} all_file_list;
|
} all_file_list;
|
||||||
|
|
||||||
/* A list of struct isofile entries which have its
|
/* A list of struct isofile entries which have its
|
||||||
* contents and are not a directory, a hardlined file
|
* contents and are not a directory, a hardlinked file
|
||||||
* and a symlink file. */
|
* and a symlink file. */
|
||||||
struct {
|
struct {
|
||||||
struct isofile *first;
|
struct isofile *first;
|
||||||
@ -1907,9 +1907,9 @@ iso9660_close(struct archive_write *a)
|
|||||||
iso9660->primary.rootent);
|
iso9660->primary.rootent);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return (ret);
|
return (ret);
|
||||||
/* Make sure we have UTF-16BE convertors.
|
/* Make sure we have UTF-16BE converters.
|
||||||
* if there is no file entry, convertors are still
|
* if there is no file entry, converters are still
|
||||||
* uninitilized. */
|
* uninitialized. */
|
||||||
if (iso9660->sconv_to_utf16be == NULL) {
|
if (iso9660->sconv_to_utf16be == NULL) {
|
||||||
iso9660->sconv_to_utf16be =
|
iso9660->sconv_to_utf16be =
|
||||||
archive_string_conversion_to_charset(
|
archive_string_conversion_to_charset(
|
||||||
@ -2959,7 +2959,7 @@ set_directory_record_rr(unsigned char *bp, int dr_len,
|
|||||||
gid = archive_entry_gid(file->entry);
|
gid = archive_entry_gid(file->entry);
|
||||||
if (iso9660->opt.rr == OPT_RR_USEFUL) {
|
if (iso9660->opt.rr == OPT_RR_USEFUL) {
|
||||||
/*
|
/*
|
||||||
* This action is simular mkisofs -r option
|
* This action is similar to mkisofs -r option
|
||||||
* but our rockridge=useful option does not
|
* but our rockridge=useful option does not
|
||||||
* set a zero to uid and gid.
|
* set a zero to uid and gid.
|
||||||
*/
|
*/
|
||||||
@ -3108,7 +3108,7 @@ set_directory_record_rr(unsigned char *bp, int dr_len,
|
|||||||
/*
|
/*
|
||||||
* flg len
|
* flg len
|
||||||
* +----+----+
|
* +----+----+
|
||||||
* | 02 | 00 | CURREENT component.
|
* | 02 | 00 | CURRENT component.
|
||||||
* +----+----+ (".")
|
* +----+----+ (".")
|
||||||
*/
|
*/
|
||||||
if (nc != NULL) {
|
if (nc != NULL) {
|
||||||
@ -3947,7 +3947,7 @@ write_VD(struct archive_write *a, struct vdd *vdd)
|
|||||||
"Abstract File", 0, D_CHAR);
|
"Abstract File", 0, D_CHAR);
|
||||||
if (r != ARCHIVE_OK)
|
if (r != ARCHIVE_OK)
|
||||||
return (r);
|
return (r);
|
||||||
/* Bibliongraphic File Identifier */
|
/* Bibliographic File Identifier */
|
||||||
r = set_file_identifier(bp, 777, 813, vdc, a, vdd,
|
r = set_file_identifier(bp, 777, 813, vdc, a, vdd,
|
||||||
&(iso9660->bibliographic_file_identifier),
|
&(iso9660->bibliographic_file_identifier),
|
||||||
"Bibliongraphic File", 0, D_CHAR);
|
"Bibliongraphic File", 0, D_CHAR);
|
||||||
@ -6135,7 +6135,7 @@ isoent_gen_iso9660_identifier(struct archive_write *a, struct isoent *isoent,
|
|||||||
off = ffmax - extlen;
|
off = ffmax - extlen;
|
||||||
if (off == 0) {
|
if (off == 0) {
|
||||||
/* A dot('.') character
|
/* A dot('.') character
|
||||||
* does't place to the first
|
* doesn't place to the first
|
||||||
* byte of identifier. */
|
* byte of identifier. */
|
||||||
off ++;
|
off ++;
|
||||||
extlen --;
|
extlen --;
|
||||||
@ -7149,7 +7149,7 @@ isoent_create_boot_catalog(struct archive_write *a, struct isoent *rootent)
|
|||||||
|
|
||||||
iso9660->el_torito.catalog = isoent;
|
iso9660->el_torito.catalog = isoent;
|
||||||
/*
|
/*
|
||||||
* Get a boot medai type.
|
* Get a boot media type.
|
||||||
*/
|
*/
|
||||||
switch (iso9660->opt.boot_type) {
|
switch (iso9660->opt.boot_type) {
|
||||||
default:
|
default:
|
||||||
|
@ -79,7 +79,7 @@ typedef enum {
|
|||||||
WT_RVIS,
|
WT_RVIS,
|
||||||
/* conversion, unsupported */
|
/* conversion, unsupported */
|
||||||
WT_CONV,
|
WT_CONV,
|
||||||
/* continutation, unsupported at the moment */
|
/* continuation, unsupported at the moment */
|
||||||
WT_CONT,
|
WT_CONT,
|
||||||
/* invalid type */
|
/* invalid type */
|
||||||
LAST_WT
|
LAST_WT
|
||||||
|
@ -63,7 +63,7 @@ __FBSDID("$FreeBSD$");
|
|||||||
* - When writing an XML element <link type="<file-type>">, <file-type>
|
* - When writing an XML element <link type="<file-type>">, <file-type>
|
||||||
* which is a file type a symbolic link is referencing is always marked
|
* which is a file type a symbolic link is referencing is always marked
|
||||||
* as "broken". Xar utility uses stat(2) to get the file type, but, in
|
* as "broken". Xar utility uses stat(2) to get the file type, but, in
|
||||||
* libarcive format writer, we should not use it; if it is needed, we
|
* libarchive format writer, we should not use it; if it is needed, we
|
||||||
* should get about it at archive_read_disk.c.
|
* should get about it at archive_read_disk.c.
|
||||||
* - It is possible to appear both <flags> and <ext2> elements.
|
* - It is possible to appear both <flags> and <ext2> elements.
|
||||||
* Xar utility generates <flags> on BSD platform and <ext2> on Linux
|
* Xar utility generates <flags> on BSD platform and <ext2> on Linux
|
||||||
@ -1227,7 +1227,7 @@ make_file_entry(struct archive_write *a, xmlTextWriterPtr writer,
|
|||||||
case AE_IFLNK:
|
case AE_IFLNK:
|
||||||
/*
|
/*
|
||||||
* xar utility has checked a file type, which
|
* xar utility has checked a file type, which
|
||||||
* a symblic-link file has referenced.
|
* a symbolic-link file has referenced.
|
||||||
* For example:
|
* For example:
|
||||||
* <link type="directory">../ref/</link>
|
* <link type="directory">../ref/</link>
|
||||||
* The symlink target file is "../ref/" and its
|
* The symlink target file is "../ref/" and its
|
||||||
@ -1237,8 +1237,8 @@ make_file_entry(struct archive_write *a, xmlTextWriterPtr writer,
|
|||||||
* The symlink target file is "../f" and its
|
* The symlink target file is "../f" and its
|
||||||
* file type is a regular file.
|
* file type is a regular file.
|
||||||
*
|
*
|
||||||
* But our implemention cannot do it, and then we
|
* But our implementation cannot do it, and then we
|
||||||
* always record that a attribute "type" is "borken",
|
* always record that a attribute "type" is "broken",
|
||||||
* for example:
|
* for example:
|
||||||
* <link type="broken">foo/bar</link>
|
* <link type="broken">foo/bar</link>
|
||||||
* It means "foo/bar" is not reachable.
|
* It means "foo/bar" is not reachable.
|
||||||
@ -1544,7 +1544,7 @@ make_toc(struct archive_write *a)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Start recoding TOC
|
* Start recording TOC
|
||||||
*/
|
*/
|
||||||
r = xmlTextWriterStartElement(writer, BAD_CAST("xar"));
|
r = xmlTextWriterStartElement(writer, BAD_CAST("xar"));
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
@ -2484,7 +2484,7 @@ file_connect_hardlink_files(struct xar *xar)
|
|||||||
archive_entry_set_nlink(target->entry, hl->nlink);
|
archive_entry_set_nlink(target->entry, hl->nlink);
|
||||||
if (hl->nlink > 1)
|
if (hl->nlink > 1)
|
||||||
/* It means this file is a hardlink
|
/* It means this file is a hardlink
|
||||||
* targe itself. */
|
* target itself. */
|
||||||
target->hardlink_target = target;
|
target->hardlink_target = target;
|
||||||
for (nf = target->hlnext;
|
for (nf = target->hlnext;
|
||||||
nf != NULL; nf = nf->hlnext) {
|
nf != NULL; nf = nf->hlnext) {
|
||||||
|
@ -283,7 +283,7 @@ DEFINE_TEST(test_acl_freebsd_posix1e_restore)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Verify ACL reaed-from-disk. This test is FreeBSD-specific.
|
* Verify ACL read-from-disk. This test is FreeBSD-specific.
|
||||||
*/
|
*/
|
||||||
DEFINE_TEST(test_acl_freebsd_posix1e_read)
|
DEFINE_TEST(test_acl_freebsd_posix1e_read)
|
||||||
{
|
{
|
||||||
|
@ -688,7 +688,7 @@ test_symname()
|
|||||||
assertEqualInt(32, archive_read_data(a, buff, sizeof(buff)));
|
assertEqualInt(32, archive_read_data(a, buff, sizeof(buff)));
|
||||||
assertEqualMem(buff, "hellohellohello\nhellohellohello\n", 32);
|
assertEqualMem(buff, "hellohellohello\nhellohellohello\n", 32);
|
||||||
|
|
||||||
/* Verify symbolic-linke symlinkfile. */
|
/* Verify symbolic-link symlinkfile. */
|
||||||
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
|
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
|
||||||
assertEqualInt((AE_IFLNK | 0755), archive_entry_mode(ae));
|
assertEqualInt((AE_IFLNK | 0755), archive_entry_mode(ae));
|
||||||
assertEqualString("symlinkfile", archive_entry_pathname(ae));
|
assertEqualString("symlinkfile", archive_entry_pathname(ae));
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
__FBSDID("$FreeBSD: head/lib/libarchive/test/test_read_format_isorr_bz2.c 201247 2009-12-30 05:59:21Z kientzle $");
|
__FBSDID("$FreeBSD: head/lib/libarchive/test/test_read_format_isorr_bz2.c 201247 2009-12-30 05:59:21Z kientzle $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
PLEASE use old cdrtools; mkisofs verion is 2.01.
|
PLEASE use old cdrtools; mkisofs version is 2.01.
|
||||||
This version mkisofs made wrong "SL" System Use Entry of RRIP.
|
This version mkisofs made wrong "SL" System Use Entry of RRIP.
|
||||||
|
|
||||||
Execute the following command to rebuild the data for this program:
|
Execute the following command to rebuild the data for this program:
|
||||||
|
@ -1116,7 +1116,7 @@ DEFINE_TEST(test_read_format_zip_filename_UTF8_CP1251)
|
|||||||
* - the filename of second file is stored in UTF-8.
|
* - the filename of second file is stored in UTF-8.
|
||||||
*
|
*
|
||||||
* Whenever hdrcharset option is specified, we will correctly read the
|
* Whenever hdrcharset option is specified, we will correctly read the
|
||||||
* filename of sencod file, which is stored in UTF-8.
|
* filename of second file, which is stored in UTF-8.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DEFINE_TEST(test_read_format_zip_filename_KOI8R_UTF8_2)
|
DEFINE_TEST(test_read_format_zip_filename_KOI8R_UTF8_2)
|
||||||
|
@ -719,7 +719,7 @@ DEFINE_TEST(test_write_format_iso9660)
|
|||||||
assertEqualInt(5, archive_entry_ctime(ae));
|
assertEqualInt(5, archive_entry_ctime(ae));
|
||||||
assert(archive_entry_mtime_is_set(ae));
|
assert(archive_entry_mtime_is_set(ae));
|
||||||
assertEqualInt(5, archive_entry_mtime(ae));
|
assertEqualInt(5, archive_entry_mtime(ae));
|
||||||
/* Trim lngname to 64 characters. */
|
/* Trim longname to 64 characters. */
|
||||||
longname[64] = '\0';
|
longname[64] = '\0';
|
||||||
assertEqualString(longname, archive_entry_pathname(ae));
|
assertEqualString(longname, archive_entry_pathname(ae));
|
||||||
assert((AE_IFREG | 0400) == archive_entry_mode(ae));
|
assert((AE_IFREG | 0400) == archive_entry_mode(ae));
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include "test.h"
|
#include "test.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check that a "zisofs" ISO 9660 imaeg is correctly created.
|
* Check that a "zisofs" ISO 9660 image is correctly created.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const unsigned char primary_id[] = {
|
static const unsigned char primary_id[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user