#endif
enum {
- OPTBIT_KEEP_OLD = 7,
+ OPTBIT_KEEP_OLD = 8,
IF_FEATURE_TAR_CREATE( OPTBIT_CREATE ,)
IF_FEATURE_TAR_CREATE( OPTBIT_DEREFERENCE ,)
IF_FEATURE_SEAMLESS_BZ2( OPTBIT_BZIP2 ,)
IF_FEATURE_TAR_FROM( OPTBIT_INCLUDE_FROM,)
IF_FEATURE_TAR_FROM( OPTBIT_EXCLUDE_FROM,)
IF_FEATURE_SEAMLESS_GZ( OPTBIT_GZIP ,)
- IF_FEATURE_SEAMLESS_Z( OPTBIT_COMPRESS ,) /* 15th bit */
+ IF_FEATURE_SEAMLESS_Z( OPTBIT_COMPRESS ,) // 16th bit
OPTBIT_NUMERIC_OWNER,
OPTBIT_NOPRESERVE_OWNER,
OPTBIT_NOPRESERVE_PERM,
OPT_BASEDIR = 1 << 2, // C
OPT_TARNAME = 1 << 3, // f
OPT_2STDOUT = 1 << 4, // O
- OPT_P = 1 << 5, // p
- OPT_VERBOSE = 1 << 6, // v
- OPT_KEEP_OLD = 1 << 7, // k
+ OPT_NOPRESERVE_OWNER = 1 << 5, // no-same-owner
+ OPT_P = 1 << 6, // p
+ OPT_VERBOSE = 1 << 7, // v
+ OPT_KEEP_OLD = 1 << 8, // k
OPT_CREATE = IF_FEATURE_TAR_CREATE( (1 << OPTBIT_CREATE )) + 0, // c
OPT_DEREFERENCE = IF_FEATURE_TAR_CREATE( (1 << OPTBIT_DEREFERENCE )) + 0, // h
OPT_BZIP2 = IF_FEATURE_SEAMLESS_BZ2( (1 << OPTBIT_BZIP2 )) + 0, // j
OPT_GZIP = IF_FEATURE_SEAMLESS_GZ( (1 << OPTBIT_GZIP )) + 0, // z
OPT_COMPRESS = IF_FEATURE_SEAMLESS_Z( (1 << OPTBIT_COMPRESS )) + 0, // Z
OPT_NUMERIC_OWNER = 1 << OPTBIT_NUMERIC_OWNER,
- OPT_NOPRESERVE_OWNER = 1 << OPTBIT_NOPRESERVE_OWNER , // no-same-owner
OPT_NOPRESERVE_PERM = 1 << OPTBIT_NOPRESERVE_PERM, // no-same-permissions
};
#if ENABLE_FEATURE_TAR_LONG_OPTIONS
"directory\0" Required_argument "C"
"file\0" Required_argument "f"
"to-stdout\0" No_argument "O"
+ /* do not restore owner */
+ /* Note: GNU tar handles 'o' as no-same-owner only on extract,
+ * on create, 'o' is --old-archive. We do not support --old-archive. */
+ "no-same-owner\0" No_argument "o"
"same-permissions\0" No_argument "p"
"verbose\0" No_argument "v"
"keep-old\0" No_argument "k"
"compress\0" No_argument "Z"
# endif
/* use numeric uid/gid from tar header, not textual */
- "numeric-owner\0" No_argument "\xfc"
- /* do not restore owner */
- "no-same-owner\0" No_argument "\xfd"
+ "numeric-owner\0" No_argument "\xfd"
/* do not restore mode */
"no-same-permissions\0" No_argument "\xfe"
/* --exclude takes next bit position in option mask, */
}
#endif
opt = getopt32(argv,
- "txC:f:Opvk"
+ "txC:f:Oopvk"
IF_FEATURE_TAR_CREATE( "ch" )
IF_FEATURE_SEAMLESS_BZ2( "j" )
IF_FEATURE_SEAMLESS_LZMA("a" )