Skip to content

Commit 9ee2dc0

Browse files
committed
Small update
1 parent dedd447 commit 9ee2dc0

1 file changed

Lines changed: 43 additions & 3 deletions

File tree

pyarchivefile/pyarchivefile.py

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6707,13 +6707,21 @@ def AppendFilesWithContentToList(infiles, fmttype="auto", dirlistfromtxt=False,
67076707
if(not os.path.exists(fname)):
67086708
return False
67096709
try:
6710-
fdev = fstatinfo.st_rdev
6710+
fdev = fstatinfo.st_dev
6711+
fdev_major = os.major(fdev)
6712+
fdev_minor = os.minor(fdev)
67116713
except AttributeError:
6712-
fdev = format(int(0), 'x').lower()
6714+
fdev = 0
6715+
fdev_major = 0
6716+
fdev_minor = 0
67136717
try:
67146718
frdev = fstatinfo.st_rdev
6719+
frdev_major = os.major(frdev)
6720+
frdev_minor = os.minor(frdev)
67156721
except AttributeError:
6716-
frdev = format(int(0), 'x').lower()
6722+
frdev = 0
6723+
frdev_major = 0
6724+
frdev_minor = 0
67176725
# Types that should be considered zero-length in the archive context:
67186726
zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
67196727
# Types that have actual data to read:
@@ -6773,7 +6781,11 @@ def AppendFilesWithContentToList(infiles, fmttype="auto", dirlistfromtxt=False,
67736781
except ImportError:
67746782
fgname = ""
67756783
fdev = format(int(fdev), 'x').lower()
6784+
fdev_major = format(int(fdev_major), 'x').lower()
6785+
fdev_minor = format(int(fdev_minor), 'x').lower()
67766786
frdev = format(int(frdev), 'x').lower()
6787+
frdev_major = format(int(frdev_major), 'x').lower()
6788+
frdev_minor = format(int(frdev_minor), 'x').lower()
67776789
finode = format(int(finode), 'x').lower()
67786790
flinkcount = format(int(flinkcount), 'x').lower()
67796791
if(hasattr(fstatinfo, "st_file_attributes")):
@@ -7035,10 +7047,16 @@ def AppendFilesWithContentFromTarFileToList(infile, fmttype="auto", extradata=[]
70357047
if(ftype == 2):
70367048
flinkname = member.linkname
70377049
fdev = format(int(0), 'x').lower()
7050+
fdev_major = format(int(0), 'x').lower()
7051+
fdev_minor = format(int(0), 'x').lower()
70387052
try:
70397053
frdev = format(int(os.makedev(member.devmajor, member.devminor)), 'x').lower()
7054+
frdev_major = format(int(member.devmajor), 'x').lower()
7055+
frdev_minor = format(int(member.devminor), 'x').lower()
70407056
except AttributeError:
70417057
frdev = format(int(MakeDevAlt(member.devmajor, member.devminor)), 'x').lower()
7058+
frdev_major = format(int(member.devmajor), 'x').lower()
7059+
frdev_minor = format(int(member.devminor), 'x').lower()
70427060
# Types that should be considered zero-length in the archive context:
70437061
zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
70447062
# Types that have actual data to read:
@@ -7323,10 +7341,20 @@ def AppendFilesWithContentFromBSDTarFileToList(infile, fmttype="auto", extradata
73237341
if(ftype == 2):
73247342
flinkname = member.linkpath
73257343
fdev = format(int(0), 'x').lower()
7344+
fdev_major = format(int(0), 'x').lower()
7345+
fdev_minor = format(int(0), 'x').lower()
73267346
if(hasattr(member, "rdev")):
73277347
frdev = format(int(member.rdev), 'x').lower()
73287348
else:
73297349
frdev = format(int(0), 'x').lower()
7350+
if(hasattr(member, "rdevmajor")):
7351+
frdev_major = format(int(member.rdevmajor), 'x').lower()
7352+
else:
7353+
frdev_major = format(int(0), 'x').lower()
7354+
if(hasattr(member, "rdevminor")):
7355+
frdev_minor = format(int(member.rdevminor), 'x').lower()
7356+
else:
7357+
frdev_minor = format(int(0), 'x').lower()
73307358
# Types that should be considered zero-length in the archive context:
73317359
zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
73327360
# Types that have actual data to read:
@@ -7519,7 +7547,11 @@ def AppendFilesWithContentFromZipFileToList(infile, fmttype="auto", extradata=[]
75197547
curfid = curfid + 1
75207548
flinkcount = format(int(flinkcount), 'x').lower()
75217549
fdev = format(int(0), 'x').lower()
7550+
fdev_major = format(int(0), 'x').lower()
7551+
fdev_minor = format(int(0), 'x').lower()
75227552
frdev = format(int(0), 'x').lower()
7553+
frdev_major = format(int(0), 'x').lower()
7554+
frdev_minor = format(int(0), 'x').lower()
75237555
if(ftype == 5):
75247556
fsize = format(int(0), 'x').lower()
75257557
elif(ftype == 0):
@@ -7766,7 +7798,11 @@ def AppendFilesWithContentFromRarFileToList(infile, fmttype="auto", extradata=[]
77667798
curfid = curfid + 1
77677799
flinkcount = format(int(flinkcount), 'x').lower()
77687800
fdev = format(int(0), 'x').lower()
7801+
fdev_major = format(int(0), 'x').lower()
7802+
fdev_minor = format(int(0), 'x').lower()
77697803
frdev = format(int(0), 'x').lower()
7804+
frdev_major = format(int(0), 'x').lower()
7805+
frdev_minor = format(int(0), 'x').lower()
77707806
if(ftype == 5):
77717807
fsize = format(int(0), 'x').lower()
77727808
elif(ftype == 0):
@@ -8008,7 +8044,11 @@ def AppendFilesWithContentFromSevenZipFileToList(infile, fmttype="auto", extrada
80088044
curfid = curfid + 1
80098045
flinkcount = format(int(flinkcount), 'x').lower()
80108046
fdev = format(int(0), 'x').lower()
8047+
fdev_major = format(int(0), 'x').lower()
8048+
fdev_minor = format(int(0), 'x').lower()
80118049
frdev = format(int(0), 'x').lower()
8050+
frdev_major = format(int(0), 'x').lower()
8051+
frdev_minor = format(int(0), 'x').lower()
80128052
if(ftype == 5):
80138053
fsize = format(int(0), 'x').lower()
80148054
fatime = format(int(to_ns(member.creationtime.timestamp())), 'x').lower()

0 commit comments

Comments
 (0)