# File lib/archive/tar/minitar.rb, line 331
331:     def add_file_simple(name, opts = {}) # :yields BoundedStream:
332:       raise Archive::Tar::Minitar::BlockRequired unless block_given?
333:       raise Archive::Tar::ClosedStream if @closed
334: 
335:       name, prefix = split_name(name)
336: 
337:       header = { :name => name, :mode => opts[:mode], :mtime => opts[:mtime],
338:         :size => opts[:size], :gid => opts[:gid], :uid => opts[:uid],
339:         :prefix => prefix }
340:       header = Archive::Tar::PosixHeader.new(header).to_s 
341:       @io.write(header)
342: 
343:       os = BoundedStream.new(@io, opts[:size])
344:       yield os
345:         # FIXME: what if an exception is raised in the block?
346: 
347:       min_padding = opts[:size] - os.written
348:       @io.write("\0" * min_padding)
349:       remainder = (512 - (opts[:size] % 512)) % 512
350:       @io.write("\0" * remainder)
351:     end