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