diff --git a/src/tar.h b/src/tar.h
index f34a13c1..54cd31f8 100644
--- a/src/tar.h
+++ b/src/tar.h
@@ -17,7 +17,8 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
-/* tar Header Block, from POSIX 1003.1-1990. */
+/* tar Header Block, from POSIX 1003.1-2024
+ */
/* POSIX header. */
@@ -54,12 +55,12 @@ enum
REGTYPE = '0', /* regular file */
AREGTYPE = '\0', /* regular file */
LNKTYPE = '1', /* link */
- SYMTYPE = '2', /* reserved */
+ SYMTYPE = '2', /* symbolic link */
CHRTYPE = '3', /* character special */
BLKTYPE = '4', /* block special */
DIRTYPE = '5', /* directory */
FIFOTYPE = '6', /* FIFO special */
- CONTTYPE = '7', /* reserved */
+ CONTTYPE = '7', /* contiguous; treated as a regular file */
XHDTYPE = 'x', /* Extended header referring to the
next file in the archive */
@@ -86,11 +87,6 @@ enum
/* tar Header Block, GNU extensions. */
-/* In GNU tar, SYMTYPE is for to symbolic links, and CONTTYPE is for
- contiguous files, so maybe disobeying the "reserved" comment in POSIX
- header description. I suspect these were meant to be used this way, and
- should not have really been "reserved" in the published standards. */
-
/* *BEWARE* *BEWARE* *BEWARE* that the following information is still
boiling, and may change. Even if the OLDGNU format description should be
accurate, the so-called GNU format is not yet fully decided. It is
@@ -170,13 +166,12 @@ struct oldgnu_header
#define OLDGNU_MAGIC "ustar " /* 7 chars and a null */
/* The standards committee allows only capital A through capital Z for
- user-defined expansion. Other letters in use include:
+ user-defined expansion. Letters in use in other implementations include:
'A' Solaris Access Control List
'E' Solaris Extended Attribute File
'I' Inode only, as in 'star'
- 'N' Obsolete GNU tar, for file names that do not fit into the main header.
- 'X' POSIX 1003.1-2001 eXtended (VU version) */
+ 'N' Obsolete GNU tar, for file names too long for main header. */
enum
{
@@ -365,8 +360,7 @@ struct tar_stat_info
/* For dumpdirs */
bool is_dumpdir; /* Is the member a dumpdir? */
- bool skipped; /* The member contents is already read
- (for GNUTYPE_DUMPDIR) */
+ bool skipped; /* The member contents are already read. */
char *dumpdir; /* Contents of the dump directory */
/* Parent directory, if creating an archive. This is null if the