- struct stat statbuf;
-
- extract_flag = TRUE;
-
- /* Check if the file already exists */
- if (lstat (file_header->name, &statbuf) == 0) {
- if ((archive_handle->flags & ARCHIVE_EXTRACT_UNCONDITIONAL) || (statbuf.st_mtime < file_header->mtime)) {
- /* Remove file if flag set or its older than the file to be extracted */
- if (unlink(file_header->name) == -1) {
- bb_perror_msg_and_die("Couldnt remove old file");
- }
- } else {
- if (! archive_handle->flags & ARCHIVE_EXTRACT_QUIET) {
- bb_error_msg("%s not created: newer or same age file exists", file_header->name);
- }
- extract_flag = FALSE;
- }
- }
- archive_handle->action_header(file_header);
- }
-
- archive_handle->action_header(file_header);
- if (extract_flag) {