@@ -6694,45 +6694,49 @@ def AppendFilesWithContentFromBSDTarFileToList(infile, extradata=[], jsondata={}
66946694 fname = member .pathname
66956695 if (verbose ):
66966696 VerbosePrintOut (fname )
6697- fpremode = member .mode
6698- ffullmode = member .mode
6697+ if (hasattr (member , "mode" )):
6698+ fpremode = member .mode
6699+ ffullmode = member .mode
6700+ elif (hasattr (member , "perm" )):
6701+ fpremode = member .perm
6702+ ffullmode = member .perm
66996703 flinkcount = 0
67006704 fblksize = format (int (0 ), 'x' ).lower ()
67016705 fblocks = format (int (0 ), 'x' ).lower ()
67026706 fflags = format (int (0 ), 'x' ).lower ()
67036707 ftype = 0
67046708 if ((hasattr (member , "isreg" ) and member .isreg ) or member .isfile ):
6705- ffullmode = member . mode | stat .S_IFREG
6709+ ffullmode = ffullmode | stat .S_IFREG
67066710 ftype = 0
67076711 elif (member .islnk ):
6708- ffullmode = member . mode | stat .S_IFREG
6712+ ffullmode = ffullmode | stat .S_IFREG
67096713 ftype = 1
67106714 elif (member .issym ):
6711- ffullmode = member . mode | stat .S_IFLNK
6715+ ffullmode = ffullmode | stat .S_IFLNK
67126716 ftype = 2
67136717 elif (member .ischr ):
6714- ffullmode = member . mode | stat .S_IFCHR
6718+ ffullmode = ffullmode | stat .S_IFCHR
67156719 ftype = 3
67166720 elif (member .isblk ):
6717- ffullmode = member . mode | stat .S_IFBLK
6721+ ffullmode = ffullmode | stat .S_IFBLK
67186722 ftype = 4
67196723 elif (member .isdir ):
6720- ffullmode = member . mode | stat .S_IFDIR
6724+ ffullmode = ffullmode | stat .S_IFDIR
67216725 ftype = 5
67226726 elif (member .isfifo ):
6723- ffullmode = member . mode | stat .S_IFIFO
6727+ ffullmode = ffullmode | stat .S_IFIFO
67246728 ftype = 6
67256729 elif (hasattr (member , "issparse" ) and member .issparse ):
6726- ffullmode = member . mode | stat .S_IFREG
6730+ ffullmode = ffullmode | stat .S_IFREG
67276731 ftype = 12
67286732 elif (member .isdev ):
6729- ffullmode = member . mode
6733+ ffullmode = ffullmode
67306734 ftype = 14
67316735 elif (member .issock ):
6732- ffullmode = member . mode | stat .S_IFSOCK
6736+ ffullmode = ffullmode | stat .S_IFSOCK
67336737 ftype = 15
67346738 else :
6735- ffullmode = member . mode | stat .S_IFREG
6739+ ffullmode = ffullmode | stat .S_IFREG
67366740 ftype = 0
67376741 flinkname = ""
67386742 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