require 'util'
require 'ftools'

header = <<HEADER_END
/* -*- c-file-style: "ruby" -*- */
/************************************************

  @basename@ -

  $Author: klamath $
  $Date: 2001/10/04 02:13:18 $

  Copyright (C) 1998-2000 Yukihiro Matsumoto,
                          Daisuke Kanda,
                          Hiroshi Igarashi
************************************************/

HEADER_END
header_header = <<HEADER_HEADER_END
/* -*- c-file-style: "ruby" -*- */
HEADER_HEADER_END

pattern = /^#{Regexp.quote(header_header)}/op

for file_name in ARGV
  buf = File.open(file_name).read
  if pattern === buf
    Kernel._warning("#{file_name} has already the header.")
  else
    basename = File.basename(file_name)
    a_header = header.gsub("@basename@", basename)
    File.copy(file_name, file_name + ".bak", true)
    File.open(file_name, "w") do |file|
      file.print(a_header + buf)
    end
    Kernel._warning("#{file_name} was added the header into.")
  end  
end
