# File lib/rpm/package.rb, line 101
    def files
      basenames = self[:basenames]

      return [] if basenames.nil?

      dirnames = self[:dirnames]
      diridxs = self[:dirindexes]
      statelist = self[:filestates]
      flaglist = self[:fileflags]
      sizelist = self[:filesizes]
      modelist = self[:filemodes]
      mtimelist = self[:filemtimes]
      rdevlist = self[:filerdevs]
      linklist = self[:filelinktos]
      md5list = self[:filemd5s]
      ownerlist = self[:fileusername]
      grouplist = self[:filegroupname]

      ret = []

      basenames.each_with_index do |basename, i|

        file = RPM::File.new("#{dirnames[diridxs[i]]}#{basenames[i]}",
                md5list[i],
                linklist[i],
                sizelist[i],
                mtimelist[i],
                ownerlist[i],
                grouplist[i],
                rdevlist[i],
                modelist[i],
                flaglist.nil? ? RPM::C::FileAttrs[:none] : flaglist[i],
                statelist.nil? ? RPM::C::FileState[:normal] : statelist[i]
        )
        ret << file
      end
      ret
    end