Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 401306 Details for
Bug 546294
app-arch/tar: -A/catenate/concatenate with -g/listed-incremental: stat no such file or directory
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to fix this issue provided in tar maillist
remove_delayed_set_stat-1.diff (text/plain), 2.21 KB, created by
Alex Efros
on 2015-04-16 06:54:21 UTC
(
hide
)
Description:
patch to fix this issue provided in tar maillist
Filename:
MIME Type:
Creator:
Alex Efros
Created:
2015-04-16 06:54:21 UTC
Size:
2.21 KB
patch
obsolete
>diff --git a/src/common.h b/src/common.h >index 20cbb64..2904183 100644 >--- a/src/common.h >+++ b/src/common.h >@@ -523,6 +523,8 @@ void extract_archive (void); > void extract_finish (void); > bool rename_directory (char *src, char *dst); > >+void remove_delayed_set_stat (const char *fname); >+ > /* Module delete.c. */ > > void delete_archive_members (void); >diff --git a/src/extract.c b/src/extract.c >index ca25603..73ff6c1 100644 >--- a/src/extract.c >+++ b/src/extract.c >@@ -537,6 +537,37 @@ repair_delayed_set_stat (char const *dir, > quotearg_colon (dir))); > } > >+static void >+free_delayed_set_stat (struct delayed_set_stat *data) >+{ >+ xheader_xattr_free (data->xattr_map, data->xattr_map_size); >+ free (data->cntx_name); >+ free (data->acls_a_ptr); >+ free (data->acls_d_ptr); >+ free (data); >+} >+ >+void >+remove_delayed_set_stat (const char *fname) >+{ >+ struct delayed_set_stat *data, *next, *prev = NULL; >+ for (data = delayed_set_stat_head; data; data = next) >+ { >+ next = data->next; >+ if (strcmp (data->file_name, fname) == 0) >+ { >+ free_delayed_set_stat (data); >+ if (prev) >+ prev->next = next; >+ else >+ delayed_set_stat_head = next; >+ return; >+ } >+ else >+ prev = data; >+ } >+} >+ > /* After a file/link/directory creation has failed, see if > it's because some required directory was not present, and if so, > create all required directories. Return zero if all the required >@@ -846,11 +877,7 @@ apply_nonancestor_delayed_set_stat (char const *file_name, bool after_links) > } > > delayed_set_stat_head = data->next; >- xheader_xattr_free (data->xattr_map, data->xattr_map_size); >- free (data->cntx_name); >- free (data->acls_a_ptr); >- free (data->acls_d_ptr); >- free (data); >+ free_delayed_set_stat (data); > } > } > >diff --git a/src/misc.c b/src/misc.c >index 8e66643..d263c07 100644 >--- a/src/misc.c >+++ b/src/misc.c >@@ -586,7 +586,12 @@ safer_rmdir (const char *file_name) > return -1; > } > >- return unlinkat (chdir_fd, file_name, AT_REMOVEDIR); >+ if (unlinkat (chdir_fd, file_name, AT_REMOVEDIR) == 0) >+ { >+ remove_delayed_set_stat (file_name); >+ return 0; >+ } >+ return -1; > } > > /* Remove FILE_NAME, returning 1 on success. If FILE_NAME is a directory,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 546294
: 401306