#
# 共通処理
#


# 内容に差分がある？
sub isDifferentFile
{
  local($file_A) = $_[0];
  local($file_B) = $_[1];

  local($update) = 0;

  if(!(-e $file_A) || !(-e $file_B)){ $update=1; }
  else{
    local($commands) = "diff $file_A $file_B";
    local(@lines) = readpipe $commands;
    $update = @lines;
  }
  return $update;
}

# 日付チェック
sub isUpdateFile
{
  local($file_A) = $_[0];
  local($file_B) = $_[1];

  local($update) = 0;

  if(!(-e $file_A) || !(-e $file_B)){ $update=1; print "lost\n"; }
  elsif((-M $file_A) < (-M $file_B)){ $update=1; }
  return $update;
}

# 更新チェック
sub CheckUpdateFiles
{
  local($master_file) = $_[0];
  local($tmp_file) = $_[1];

  local($update) = isDifferentFile($master_file,$tmp_file);

  if($update == 0){
    readpipe "rm $tmp_file";
  }
  else{
    readpipe "mv $tmp_file $master_file";
    print stderr "                    update.\n";
  }
}

1;
