@@ -97,10 +97,17 @@ [of_stdout writeFormat: @"\tSize: %" PRIu64 @" bytes\n" @"\tModification date: %@\n", [entry size], date]; + + if ([entry owner] != nil) + [of_stdout writeFormat: @"\tOwner: %@\n", + [entry owner]]; + if ([entry group] != nil) + [of_stdout writeFormat: @"\tGroup: %@\n", + [entry group]]; } if (app->_outputLevel >= 2) { switch ([entry type]) { case OF_TAR_ARCHIVE_ENTRY_TYPE_FILE: @@ -115,10 +122,36 @@ case OF_TAR_ARCHIVE_ENTRY_TYPE_SYMLINK: [of_stdout writeLine: @"\tType: Symbolic link"]; [of_stdout writeFormat: @"\tTarget file name: %@\n", [entry targetFileName]]; + break; + case OF_TAR_ARCHIVE_ENTRY_TYPE_CHARACTER_DEVICE: + [of_stdout writeLine: + @"\tType: Character device"]; + [of_stdout writeFormat: @"\tDevice major: %d\n" + @"\tDevice minor: %d\n", + [entry deviceMajor], + [entry deviceMinor]]; + break; + case OF_TAR_ARCHIVE_ENTRY_TYPE_BLOCK_DEVICE: + [of_stdout writeLine: + @"\tType: Block device"]; + [of_stdout writeFormat: @"\tDevice major: %d\n" + @"\tDevice minor: %d\n", + [entry deviceMajor], + [entry deviceMinor]]; + break; + case OF_TAR_ARCHIVE_ENTRY_TYPE_DIRECTORY: + [of_stdout writeLine: @"\tType: Directory"]; + break; + case OF_TAR_ARCHIVE_ENTRY_TYPE_FIFO: + [of_stdout writeLine: @"\tType: FIFO"]; + break; + case OF_TAR_ARCHIVE_ENTRY_TYPE_CONTIGUOUS_FILE: + [of_stdout writeLine: + @"\tType: Contiguous file"]; break; default: [of_stdout writeLine: @"\tType: Unknown"]; break; }