@@ -4325,25 +4325,24 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
43254325 finode = int(HeaderOut[24], 16)
43264326 flinkcount = int(HeaderOut[25], 16)
43274327 fdev = int(HeaderOut[26], 16)
4328- fdev_minor = int(HeaderOut[27], 16)
4329- fdev_major = int(HeaderOut[28], 16)
4330- fseeknextfile = HeaderOut[29]
4331- fjsontype = HeaderOut[30]
4332- fjsonlen = int(HeaderOut[31], 16)
4333- fjsonsize = int(HeaderOut[32], 16)
4334- fjsonchecksumtype = HeaderOut[33]
4335- fjsonchecksum = HeaderOut[34]
4336- fextrasize = int(HeaderOut[35], 16)
4337- fextrafields = int(HeaderOut[36], 16)
4328+ frdev = int(HeaderOut[27], 16)
4329+ fseeknextfile = HeaderOut[28]
4330+ fjsontype = HeaderOut[29]
4331+ fjsonlen = int(HeaderOut[30], 16)
4332+ fjsonsize = int(HeaderOut[31], 16)
4333+ fjsonchecksumtype = HeaderOut[32]
4334+ fjsonchecksum = HeaderOut[33]
4335+ fextrasize = int(HeaderOut[34], 16)
4336+ fextrafields = int(HeaderOut[35], 16)
43384337 fextrafieldslist = []
4339- extrastart = 37
4338+ extrastart = 36
43404339 extraend = extrastart + fextrafields
43414340 while(extrastart < extraend):
43424341 fextrafieldslist.append(HeaderOut[extrastart])
43434342 extrastart = extrastart + 1
43444343 fvendorfieldslist = []
43454344 fvendorfields = 0;
4346- if(len(HeaderOut)>41 ):
4345+ if(len(HeaderOut)>40 ):
43474346 extrastart = extraend
43484347 extraend = len(HeaderOut) - 4
43494348 while(extrastart < extraend):
@@ -4503,7 +4502,7 @@ def ReadFileHeaderDataWithContentToArray(fp, listonly=False, contentasfile=True,
45034502 if(not contentasfile):
45044503 fcontents = fcontents.read()
45054504 outlist = {'fheadersize': fheadsize, 'fhstart': fheaderstart, 'fhend': fhend, 'ftype': ftype, 'fencoding': fencoding, 'fcencoding': fcencoding, 'fname': fname, 'fbasedir': fbasedir, 'flinkname': flinkname, 'fsize': fsize, 'fblksize': fblksize, 'fblocks': fblocks, 'fflags': fflags, 'fatime': fatime, 'fmtime': fmtime, 'fctime': fctime, 'fbtime': fbtime, 'fmode': fmode, 'fchmode': fchmode, 'ftypemod': ftypemod, 'fwinattributes': fwinattributes, 'fcompression': fcompression, 'fcsize': fcsize, 'fuid': fuid, 'funame': funame, 'fgid': fgid, 'fgname': fgname, 'finode': finode, 'flinkcount': flinkcount,
4506- 'fdev': fdev, 'fminor ': fdev_minor, 'fmajor': fdev_major , 'fseeknextfile': fseeknextfile, 'fheaderchecksumtype': HeaderOut[-4], 'fjsonchecksumtype': fjsonchecksumtype, 'fcontentchecksumtype': HeaderOut[-3], 'fnumfields': fnumfields + 2, 'frawheader': HeaderOut, 'fvendorfields': fvendorfields, 'fvendordata': fvendorfieldslist, 'fextrafields': fextrafields, 'fextrafieldsize': fextrasize, 'fextradata': fextrafieldslist, 'fjsontype': fjsontype, 'fjsonlen': fjsonlen, 'fjsonsize': fjsonsize, 'fjsonrawdata': fjsonrawcontent, 'fjsondata': fjsoncontent, 'fjstart': fjstart, 'fjend': fjend, 'fheaderchecksum': fcs, 'fjsonchecksum': fjsonchecksum, 'fcontentchecksum': fccs, 'fhascontents': pyhascontents, 'fcontentstart': fcontentstart, 'fcontentend': fcontentend, 'fcontentasfile': contentasfile, 'fcontents': fcontents}
4505+ 'fdev': fdev, 'frdev ': frdev , 'fseeknextfile': fseeknextfile, 'fheaderchecksumtype': HeaderOut[-4], 'fjsonchecksumtype': fjsonchecksumtype, 'fcontentchecksumtype': HeaderOut[-3], 'fnumfields': fnumfields + 2, 'frawheader': HeaderOut, 'fvendorfields': fvendorfields, 'fvendordata': fvendorfieldslist, 'fextrafields': fextrafields, 'fextrafieldsize': fextrasize, 'fextradata': fextrafieldslist, 'fjsontype': fjsontype, 'fjsonlen': fjsonlen, 'fjsonsize': fjsonsize, 'fjsonrawdata': fjsonrawcontent, 'fjsondata': fjsoncontent, 'fjstart': fjstart, 'fjend': fjend, 'fheaderchecksum': fcs, 'fjsonchecksum': fjsonchecksum, 'fcontentchecksum': fccs, 'fhascontents': pyhascontents, 'fcontentstart': fcontentstart, 'fcontentend': fcontentend, 'fcontentasfile': contentasfile, 'fcontents': fcontents}
45074506 return outlist
45084507
45094508
@@ -4551,18 +4550,17 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
45514550 finode = int(HeaderOut[24], 16)
45524551 flinkcount = int(HeaderOut[25], 16)
45534552 fdev = int(HeaderOut[26], 16)
4554- fdev_minor = int(HeaderOut[27], 16)
4555- fdev_major = int(HeaderOut[28], 16)
4556- fseeknextfile = HeaderOut[29]
4557- fjsontype = HeaderOut[30]
4558- fjsonlen = int(HeaderOut[31], 16)
4559- fjsonsize = int(HeaderOut[32], 16)
4560- fjsonchecksumtype = HeaderOut[33]
4561- fjsonchecksum = HeaderOut[34]
4562- fextrasize = int(HeaderOut[35], 16)
4563- fextrafields = int(HeaderOut[36], 16)
4553+ frdev = int(HeaderOut[27], 16)
4554+ fseeknextfile = HeaderOut[28]
4555+ fjsontype = HeaderOut[29]
4556+ fjsonlen = int(HeaderOut[30], 16)
4557+ fjsonsize = int(HeaderOut[31], 16)
4558+ fjsonchecksumtype = HeaderOut[32]
4559+ fjsonchecksum = HeaderOut[33]
4560+ fextrasize = int(HeaderOut[34], 16)
4561+ fextrafields = int(HeaderOut[35], 16)
45644562 fextrafieldslist = []
4565- extrastart = 37
4563+ extrastart = 36
45664564 extraend = extrastart + fextrafields
45674565 while(extrastart < extraend):
45684566 fextrafieldslist.append(HeaderOut[extrastart])
@@ -4717,7 +4715,7 @@ def ReadFileHeaderDataWithContentToList(fp, listonly=False, contentasfile=False,
47174715 if(not contentasfile):
47184716 fcontents = fcontents.read()
47194717 outlist = [ftype, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression, fcsize, fuid, funame, fgid, fgname, fid,
4720- finode, flinkcount, fdev, fdev_minor, fdev_major , fseeknextfile, fjsoncontent, fextrafieldslist, HeaderOut[-4], HeaderOut[-3], fcontents]
4718+ finode, flinkcount, fdev, frdev , fseeknextfile, fjsoncontent, fextrafieldslist, HeaderOut[-4], HeaderOut[-3], fcontents]
47214719 return outlist
47224720
47234721
@@ -6015,9 +6013,10 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
60156013 fdev = fstatinfo.st_rdev
60166014 except AttributeError:
60176015 fdev = 0
6018- getfdev = GetDevMajorMinor(fdev)
6019- fdev_minor = getfdev[0]
6020- fdev_major = getfdev[1]
6016+ try:
6017+ frdev = fstatinfo.st_rdev
6018+ except AttributeError:
6019+ frdev = 0
60216020 # Types that should be considered zero-length in the archive context:
60226021 zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
60236022 # Types that have actual data to read:
@@ -6061,8 +6060,7 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
60616060 except ImportError:
60626061 fgname = ""
60636062 fdev = format(int(fdev), 'x').lower()
6064- fdev_minor = format(int(fdev_minor), 'x').lower()
6065- fdev_major = format(int(fdev_major), 'x').lower()
6063+ frdev = format(int(frdev), 'x').lower()
60666064 finode = format(int(finode), 'x').lower()
60676065 flinkcount = format(int(flinkcount), 'x').lower()
60686066 if(hasattr(fstatinfo, "st_file_attributes")):
@@ -6177,7 +6175,7 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], json
61776175 fcontents.seek(0, 0)
61786176 ftypehex = format(ftype, 'x').lower()
61796177 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6180- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6178+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
61816179 AppendFileHeaderWithContent(
61826180 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
61836181 try:
@@ -6321,12 +6319,11 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63216319 curfid = curfid + 1
63226320 if(ftype == 2):
63236321 flinkname = member.linkname
6322+ fdev = format(int("0"), 'x').lower()
63246323 try:
6325- fdev = format(int(os.makedev(member.devmajor, member.devminor)), 'x').lower()
6324+ frdev = format(int(os.makedev(member.devmajor, member.devminor)), 'x').lower()
63266325 except AttributeError:
6327- fdev = format(int(MakeDevAlt(member.devmajor, member.devminor)), 'x').lower()
6328- fdev_minor = format(int(member.devminor), 'x').lower()
6329- fdev_major = format(int(member.devmajor), 'x').lower()
6326+ frdev = format(int(MakeDevAlt(member.devmajor, member.devminor)), 'x').lower()
63306327 # Types that should be considered zero-length in the archive context:
63316328 zero_length_types = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 13}
63326329 # Types that have actual data to read:
@@ -6408,7 +6405,7 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
64086405 fcontents.seek(0, 0)
64096406 ftypehex = format(ftype, 'x').lower()
64106407 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6411- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6408+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
64126409 AppendFileHeaderWithContent(
64136410 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
64146411 try:
@@ -6499,8 +6496,7 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
64996496 fcurinode = format(int(curfid), 'x').lower()
65006497 curfid = curfid + 1
65016498 fdev = format(int(0), 'x').lower()
6502- fdev_minor = format(int(0), 'x').lower()
6503- fdev_major = format(int(0), 'x').lower()
6499+ frdev = format(int(0), 'x').lower()
65046500 if(ftype == 5):
65056501 fsize = format(int("0"), 'x').lower()
65066502 elif(ftype == 0):
@@ -6631,7 +6627,7 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
66316627 fcontents.seek(0, 0)
66326628 ftypehex = format(ftype, 'x').lower()
66336629 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6634- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6630+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
66356631 AppendFileHeaderWithContent(
66366632 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
66376633 try:
@@ -6747,8 +6743,7 @@ def AppendFilesWithContentFromRarFile(infile, fp, extradata=[], jsondata={}, com
67476743 fcurinode = format(int(curfid), 'x').lower()
67486744 curfid = curfid + 1
67496745 fdev = format(int(0), 'x').lower()
6750- fdev_minor = format(int(0), 'x').lower()
6751- fdev_major = format(int(0), 'x').lower()
6746+ frdev = format(int(0), 'x').lower()
67526747 if(ftype == 5):
67536748 fsize = format(int("0"), 'x').lower()
67546749 elif(ftype == 0):
@@ -6873,7 +6868,7 @@ def AppendFilesWithContentFromRarFile(infile, fp, extradata=[], jsondata={}, com
68736868 fcontents.seek(0, 0)
68746869 ftypehex = format(ftype, 'x').lower()
68756870 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
6876- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
6871+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
68776872 AppendFileHeaderWithContent(
68786873 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
68796874 try:
@@ -6954,8 +6949,7 @@ def AppendFilesWithContentFromSevenZipFile(infile, fp, extradata=[], jsondata={}
69546949 fcurinode = format(int(curfid), 'x').lower()
69556950 curfid = curfid + 1
69566951 fdev = format(int(0), 'x').lower()
6957- fdev_minor = format(int(0), 'x').lower()
6958- fdev_major = format(int(0), 'x').lower()
6952+ frdev = format(int(0), 'x').lower()
69596953 if(ftype == 5):
69606954 fsize = format(int("0"), 'x').lower()
69616955 fatime = format(int(member.creationtime.timestamp()), 'x').lower()
@@ -7055,7 +7049,7 @@ def AppendFilesWithContentFromSevenZipFile(infile, fp, extradata=[], jsondata={}
70557049 fcontents.seek(0, 0)
70567050 ftypehex = format(ftype, 'x').lower()
70577051 tmpoutlist = [ftypehex, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression,
7058- fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major , "+"+str(len(formatspecs['format_delimiter']))]
7052+ fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, frdev , "+"+str(len(formatspecs['format_delimiter']))]
70597053 AppendFileHeaderWithContent(
70607054 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
70617055 try:
@@ -7116,16 +7110,15 @@ def AppendListsWithContent(inlist, fp, dirlistfromtxt=False, extradata=[], jsond
71167110 finode = format(curfname[22], 'x').lower()
71177111 flinkcount = format(curfname[23], 'x').lower()
71187112 fdev = format(curfname[24], 'x').lower()
7119- fdev_minor = format(curfname[25], 'x').lower()
7120- fdev_major = format(curfname[26], 'x').lower()
7121- fseeknextfile = curfname[27]
7122- extradata = curfname[28]
7123- fheaderchecksumtype = curfname[29]
7124- fcontentchecksumtype = curfname[30]
7125- fcontents = curfname[31]
7113+ frdev = format(curfname[25], 'x').lower()
7114+ fseeknextfile = curfname[26]
7115+ extradata = curfname[27]
7116+ fheaderchecksumtype = curfname[28]
7117+ fcontentchecksumtype = curfname[29]
7118+ fcontents = curfname[30]
71267119 fencoding = GetFileEncoding(fcontents, 0, False)[0]
71277120 tmpoutlist = [ftype, fencoding, fcencoding, fname, flinkname, fsize, fblksize, fblocks, fflags, fatime, fmtime, fctime, fbtime, fmode, fwinattributes, fcompression, fcsize,
7128- fuid, funame, fgid, fgname, fid, finode, flinkcount, fdev, fdev_minor, fdev_major , fseeknextfile]
7121+ fuid, funame, fgid, fgname, fid, finode, flinkcount, fdev, frdev , fseeknextfile]
71297122 fcontents.seek(0, 0)
71307123 AppendFileHeaderWithContent(
71317124 fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[2], checksumtype[3], checksumtype[4]], formatspecs)
@@ -9743,10 +9736,10 @@ def CatFileValidate(infile, fmttype="auto", filestart=0,
97439736 outfcsize = int(inheaderdata[18], 16)
97449737 fid = int(inheaderdata[23], 16)
97459738 finode = int(inheaderdata[24], 16)
9746- outfseeknextfile = inheaderdata[29 ]
9747- outfjsonsize = int(inheaderdata[32 ], 16)
9748- outfjsonchecksumtype = inheaderdata[33 ]
9749- outfjsonchecksum = inheaderdata[34 ]
9739+ outfseeknextfile = inheaderdata[28 ]
9740+ outfjsonsize = int(inheaderdata[31 ], 16)
9741+ outfjsonchecksumtype = inheaderdata[32 ]
9742+ outfjsonchecksum = inheaderdata[33 ]
97509743 outfhend = fp.tell() - 1 # (kept for parity; not used)
97519744 outfjstart = fp.tell()
97529745 # Read JSON bytes; compute checksum on bytes for robustness
@@ -9759,9 +9752,9 @@ def CatFileValidate(infile, fmttype="auto", filestart=0,
97599752 outfjend = fp.tell()
97609753 fp.seek(len(formatspecs['format_delimiter']), 1)
97619754 injsonfcs = GetFileChecksum(outfprejsoncontent_bytes, outfjsonchecksumtype, True, formatspecs)
9762- outfextrafields = int(inheaderdata[36 ], 16)
9755+ outfextrafields = int(inheaderdata[35 ], 16)
97639756 extrafieldslist = []
9764- extrastart = 37
9757+ extrastart = 36
97659758 extraend = extrastart + outfextrafields
97669759 outfcs = inheaderdata[-2].lower()
97679760 outfccs = inheaderdata[-1].lower()
0 commit comments