@@ -6693,45 +6693,49 @@ def AppendFilesWithContentFromBSDTarFileToList(infile, extradata=[], jsondata={}
66936693 fname = member .pathname
66946694 if (verbose ):
66956695 VerbosePrintOut (fname )
6696- fpremode = member .mode
6697- ffullmode = member .mode
6696+ if (hasattr (member , "mode" )):
6697+ fpremode = member .mode
6698+ ffullmode = member .mode
6699+ elif (hasattr (member , "perm" )):
6700+ fpremode = member .perm
6701+ ffullmode = member .perm
66986702 flinkcount = 0
66996703 fblksize = format (int (0 ), 'x' ).lower ()
67006704 fblocks = format (int (0 ), 'x' ).lower ()
67016705 fflags = format (int (0 ), 'x' ).lower ()
67026706 ftype = 0
67036707 if ((hasattr (member , "isreg" ) and member .isreg ) or member .isfile ):
6704- ffullmode = member . mode | stat .S_IFREG
6708+ ffullmode = ffullmode | stat .S_IFREG
67056709 ftype = 0
67066710 elif (member .islnk ):
6707- ffullmode = member . mode | stat .S_IFREG
6711+ ffullmode = ffullmode | stat .S_IFREG
67086712 ftype = 1
67096713 elif (member .issym ):
6710- ffullmode = member . mode | stat .S_IFLNK
6714+ ffullmode = ffullmode | stat .S_IFLNK
67116715 ftype = 2
67126716 elif (member .ischr ):
6713- ffullmode = member . mode | stat .S_IFCHR
6717+ ffullmode = ffullmode | stat .S_IFCHR
67146718 ftype = 3
67156719 elif (member .isblk ):
6716- ffullmode = member . mode | stat .S_IFBLK
6720+ ffullmode = ffullmode | stat .S_IFBLK
67176721 ftype = 4
67186722 elif (member .isdir ):
6719- ffullmode = member . mode | stat .S_IFDIR
6723+ ffullmode = ffullmode | stat .S_IFDIR
67206724 ftype = 5
67216725 elif (member .isfifo ):
6722- ffullmode = member . mode | stat .S_IFIFO
6726+ ffullmode = ffullmode | stat .S_IFIFO
67236727 ftype = 6
67246728 elif (hasattr (member , "issparse" ) and member .issparse ):
6725- ffullmode = member . mode | stat .S_IFREG
6729+ ffullmode = ffullmode | stat .S_IFREG
67266730 ftype = 12
67276731 elif (member .isdev ):
6728- ffullmode = member . mode
6732+ ffullmode = ffullmode
67296733 ftype = 14
67306734 elif (member .issock ):
6731- ffullmode = member . mode | stat .S_IFSOCK
6735+ ffullmode = ffullmode | stat .S_IFSOCK
67326736 ftype = 15
67336737 else :
6734- ffullmode = member . mode | stat .S_IFREG
6738+ ffullmode = ffullmode | stat .S_IFREG
67356739 ftype = 0
67366740 flinkname = ""
67376741 fcurfid = format (int (curfid ), 'x' ).lower ()
@@ -10017,8 +10021,12 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1001710021 with open_archive_reader (infile ) as archive :
1001810022 for member in archive :
1001910023 returnval .update ({lcfi : member .pathname })
10020- fpremode = member .mode
10021- ffullmode = member .mode
10024+ if (hasattr (member , "mode" )):
10025+ fpremode = member .mode
10026+ ffullmode = member .mode
10027+ elif (hasattr (member , "perm" )):
10028+ fpremode = member .perm
10029+ ffullmode = member .perm
1002210030 flinkcount = 0
1002310031 ftype = 0
1002410032 if ((hasattr (member , "isreg" ) and member .isreg ) or member .isfile ):
0 commit comments