# File lib/archive/tar/minitar.rb, line 969
969:     def unpack(src, dest, files = [], &block)
970:       Input.open(src) do |inp|
971:         if File.exist?(dest) and (not dir?(dest))
972:           raise "Can't unpack to a non-directory."
973:         elsif not File.exist?(dest)
974:           FileUtils.mkdir_p(dest)
975:         end
976: 
977:         inp.each do |entry|
978:           if files.empty? or files.include?(entry.full_name)
979:             inp.extract_entry(dest, entry, &block)
980:           end
981:         end
982:       end
983:     end