# File lib/rpm/package.rb, line 187
    def changelog
      entries = []
      nametd = ::FFI::AutoPointer.new(RPM::C.rpmtdNew, Package.method(:release_td))
      timetd = ::FFI::AutoPointer.new(RPM::C.rpmtdNew, Package.method(:release_td))
      texttd = ::FFI::AutoPointer.new(RPM::C.rpmtdNew, Package.method(:release_td))
    
      min = RPM::C::HEADERGET_MINMEM
      return deps if (RPM::C.headerGet(@hdr, :changelogtime, timetd, min) != 1)
      return deps if (RPM::C.headerGet(@hdr, :changelogname, nametd, min) != 1)
      return deps if (RPM::C.headerGet(@hdr, :changelogtext, texttd, min) != 1)

      RPM::C.rpmtdInit(timetd)
      while RPM::C.rpmtdNext(timetd) != -1
        entry = RPM::ChangeLog.new
        entry.time = RPM::C.rpmtdGetUint32(timetd)
        entry.name = RPM::C.rpmtdNextString(nametd)
        entry.text = RPM::C.rpmtdNextString(texttd)
        entries << entry
      end
      entries
    end