#!/usr/bin/perl
#
# COPYRIGHTタグチェッカー(手抜き版)
#
# 使い方)
# CheckCopyright.pl [-e] [path]
# -e   を付けないと、チェックのみになります。
# path で指定したディレクトリから再帰的に探します。
#
# 2008/03/07 Yamaura
# Copyright(C)SEGA
#

# 埋め込む著作権文字列
$copyright = "Copyright(C)SEGA";

# 実行フラグ。デフォルトのままだと検査しかしないです。
$exec = 0;

# バックアップフラグ。デフォルトはバックアップ作成なしです。
$backup = 0;

# 文字出力をいっぱい。デフォルトは全部だします。
$verbose = 1;

# ここに列挙した拡張子が探索対象になります。
@FilePattern = ( '.h' );

########################################################
# COPYRIGHTタグを打ち込みます
########################################################
sub checkLine {
	$filename = shift;
	open (SRC, $filename);
	my @srcline = <SRC>;
	close(SRC);
	my @dstline = @srcline;

	print "\nprocessing $filename: \n";

	$i = 0;
	foreach $line (@srcline) {
		$_ = $srcline[$i];
		if (length > 2) {
#			print;
			chop;
			chop;
			$dstline[$i] = "{". $_."},\n";
#			print $dstline[$i];
		}
		$i++;
	}

	# 実際にファイルに書き出します。
#	if ($found ne 0) {
		open (FILE, ">$filename");
		print FILE @dstline;
		close(FILE);
#	}
}


########################################################
# ディレクトリ＆ソース探索
#
# 適当すぎだろ、これ・・・。
########################################################
sub checkDir {
	my $dir = shift;
	opendir(DIR, $dir);
	my @file = readdir(DIR);
    my $tmp;

	foreach $tmp (@file) {
		$_ = $tmp;
		/(\..+)$/;
		$ext = $1;
		
#		print "\n [$tmp] Ext: $ext";
		if ($tmp !~ /(\.)+/) {
			if ($verbose eq 1) {
				print "\n<DIR> $dir\\$tmp";
			}
			else {
#				print "\n";
			}
			checkDir("$dir\\$tmp");
		}
		elsif ($ext ne "" && grep /\Q$ext\E$/, @FilePattern) {
			checkLine("$dir\\$tmp");
		}
	}
	closedir(DIR);
}

########################################################
# entry
########################################################

print "機種依存文字チェッカー by Yama\n\n";

@option = @ARGV;

# 検索開始パス指定
$start = ".";
if ($option[0] ne "") {
	$start = $option[0];
}

print "\n<DIR> $start";
&checkDir($start);
