diff options
author | Michihiro NAKAJIMA <ggcueroad@gmail.com> | 2011-07-09 19:12:34 -0400 |
---|---|---|
committer | Michihiro NAKAJIMA <ggcueroad@gmail.com> | 2011-07-09 19:12:34 -0400 |
commit | bcb01b16225735050714ca6c7915dfd6b82b18e4 (patch) | |
tree | 4f3421420055e9ba5dada20a6d35f69baca9e154 /libarchive/archive_write_set_format_iso9660.c | |
parent | 6c08f8d0f85f0c80a40fab5e379bacb9f62749c7 (diff) | |
download | libarchive-bcb01b16225735050714ca6c7915dfd6b82b18e4.tar.gz |
Stop trimming parent directories at iso9660 writer; users will decide
how many components are stripped or renaming a part of path names they like.
SVN-Revision: 3463
Diffstat (limited to 'libarchive/archive_write_set_format_iso9660.c')
-rw-r--r-- | libarchive/archive_write_set_format_iso9660.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/libarchive/archive_write_set_format_iso9660.c b/libarchive/archive_write_set_format_iso9660.c index e7163f02..8d2c2b97 100644 --- a/libarchive/archive_write_set_format_iso9660.c +++ b/libarchive/archive_write_set_format_iso9660.c @@ -987,7 +987,6 @@ static int isoent_cmp_key(const struct archive_rb_node *, static int isoent_add_child_head(struct isoent *, struct isoent *); static int isoent_add_child_tail(struct isoent *, struct isoent *); static void isoent_remove_child(struct isoent *, struct isoent *); -static void isoent_trim_root_directory(struct iso9660 *); static void isoent_setup_directory_location(struct iso9660 *, int, struct vdd *); static void isoent_setup_file_location(struct iso9660 *, int); @@ -1853,7 +1852,6 @@ iso9660_close(struct archive_write *a) if (iso9660->birth_time == 0) #endif time(&(iso9660->birth_time)); - isoent_trim_root_directory(iso9660); /* * Prepare a bootable ISO image. @@ -5262,31 +5260,6 @@ isoent_remove_child(struct isoent *parent, struct isoent *child) (struct archive_rb_node *)child); } -/* - * Trim extra directories. - * If the root directory is a virtual directory and has one sub-directory - * only, the sub-direcotry become a new root directory. - */ -static void -isoent_trim_root_directory(struct iso9660 *iso9660) -{ - struct isoent *rootent, *child; - - rootent = iso9660->primary.rootent; - while (rootent->virtual) { - if (rootent->children.cnt != 1) - break; - child = rootent->children.first; - if (child->dir) { - _isoent_free(rootent); - iso9660->primary.rootent = rootent = child; - rootent->parent = rootent; - iso9660->dircnt_max--; - } else - break; - } -} - static int isoent_clone_tree(struct archive_write *a, struct isoent **nroot, struct isoent *root) |