@@ -3164,9 +3164,11 @@ def AppendFileHeader(fp, numfiles, fencoding, extradata=[], checksumtype="crc32"
31643164 fileheaderver = str (int (formver .replace ("." , "" )))
31653165 fileheader = AppendNullByte (
31663166 formatspecs ['format_magic' ] + fileheaderver , formatspecs ['format_delimiter' ])
3167- extrafields = format (len (extradata ), 'x' ).lower ()
3168- if isinstance (extradata , dict ) or IsNestedDictAlt (extradata ):
3167+ if (isinstance (extradata , dict ) or IsNestedDictAlt (extradata )) and len (extradata ) > 0 :
31693168 extradata = [base64 .b64encode (json .dumps (extradata , separators = (',' , ':' )).encode ("UTF-8" )).decode ("UTF-8" )]
3169+ elif (isinstance (extradata , dict ) or IsNestedDictAlt (extradata )) and len (extradata ) == 0 :
3170+ extradata = []
3171+ extrafields = format (len (extradata ), 'x' ).lower ()
31703172 extrasizestr = AppendNullByte (extrafields , formatspecs ['format_delimiter' ])
31713173 if (len (extradata ) > 0 ):
31723174 extrasizestr = extrasizestr + \
@@ -3319,8 +3321,10 @@ def MakeEmptyCatFile(outfile, compression="auto", compresswholefile=True, compre
33193321def AppendFileHeaderWithContent (fp , filevalues = [], extradata = [], filecontent = "" , checksumtype = ["crc32" , "crc32" ], formatspecs = __file_format_dict__ ):
33203322 if (not hasattr (fp , "write" )):
33213323 return False
3322- if isinstance (extradata , dict ) or IsNestedDictAlt (extradata ):
3324+ if ( isinstance (extradata , dict ) or IsNestedDictAlt (extradata )) and len ( extradata ) > 0 :
33233325 extradata = [base64 .b64encode (json .dumps (extradata , separators = (',' , ':' )).encode ("UTF-8" )).decode ("UTF-8" )]
3326+ elif (isinstance (extradata , dict ) or IsNestedDictAlt (extradata )) and len (extradata ) == 0 :
3327+ extradata = []
33243328 extrafields = format (len (extradata ), 'x' ).lower ()
33253329 extrasizestr = AppendNullByte (extrafields , formatspecs ['format_delimiter' ])
33263330 if (len (extradata ) > 0 ):
0 commit comments