parameters: (self, tarfile)
return_statement: return next
docstring: Process the blocks that hold a GNU longname
  
             or longlink member.
docstring_summary: Process the blocks that hold a GNU longname
docstring_tokens: Process the blocks that hold a GNU longname
function: def _proc_gnulong(self, tarfile):
  
          """Process the blocks that hold a GNU longname
  
             or longlink member.
  
          """
  
          buf = tarfile.fileobj.read(self._block(self.size))
  
  
  
          # Fetch the next header and process it.
  
          try:
  
              next = self.fromtarfile(tarfile)
  
          except HeaderError:
  
              raise SubsequentHeaderError("missing or bad subsequent header")
  
  
  
          # Patch the TarInfo object from the next header with
  
          # the longname information.
  
          next.offset = self.offset
  
          if self.type == GNUTYPE_LONGNAME:
  
              next.name = nts(buf, tarfile.encoding, tarfile.errors)
  
          elif self.type == GNUTYPE_LONGLINK:
  
              next.linkname = nts(buf, tarfile.encoding, tarfile.errors)
  
  
  
          return next
function_tokens: def _proc_gnulong ( self , tarfile ) : buf = tarfile . fileobj . read ( self . _block ( self . size ) ) # Fetch the next header and process it. try : next = self . fromtarfile ( tarfile ) except HeaderError : raise SubsequentHeaderError ( "missing or bad subsequent header" ) # Patch the TarInfo object from the next header with # the longname information. next . offset = self . offset if self . type == GNUTYPE_LONGNAME : next . name = nts ( buf , tarfile . encoding , tarfile . errors ) elif self . type == GNUTYPE_LONGLINK : next . linkname = nts ( buf , tarfile . encoding , tarfile . errors ) return next