X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=makettf%2Fcheckdata.cgi;h=7a5edcfb9b9d12c9c58d43535b8a855ff255831d;hb=c74b7d71670e8019eb85b0e55d2dfbc685fc2f76;hp=d156024a1d8c720368b0e8c63a5ec569d7452456;hpb=035d452b37663e199ebb66204c3a713de0c720de;p=chise%2Fkage.git diff --git a/makettf/checkdata.cgi b/makettf/checkdata.cgi index d156024..7a5edcf 100755 --- a/makettf/checkdata.cgi +++ b/makettf/checkdata.cgi @@ -1,7 +1,8 @@ #!/usr/bin/perl -$ERROR_SYNTAX = 1; -$ERROR_NOPARTS = 2; +$ERROR_LINE_SYNTAX = 1; +$ERROR_STROKE_SYNTAX = 2; +$ERROR_NOPARTS = 4; use utf8; binmode STDOUT, ":utf8"; @@ -11,6 +12,10 @@ $| = 1; my $data = $form->param('partsdata'); utf8::decode($data); +$data =~ s/\&/\&\;/g; +$data =~ s//\>\;/g; +$data =~ s/\"/\"\;/g; @buffer = split(/\r\n|\r|\n/, $data); $result = ""; @@ -29,10 +34,15 @@ foreach $temp (@buffer){ foreach $temp (@buffer){ if($temp =~ m/:/ && $temp =~ m/[0-9]/){ $error = 0; - $check = 0; - @temp = split(/ |\t|\r\n|\r|\n/, $temp); + $error_data = ""; + @temp = split(/ +|\t|\r\n|\r|\n/, $temp); + if(scalar(@temp) != 2){ + $error = $error | $ERROR_LINE_SYNTAX; + } @temp2 = split(/\$/, $temp[1]); foreach $temp2 (@temp2){ + $check = 0; + $error_data = $temp2; if($temp2 =~ m/^1:(0|2):(0|2):/){ $check++; } if($temp2 =~ m/^1:(0|12|22|32):(0|13|23|32|4):/){ $check++; } if($temp2 =~ m/^2:(0|12|22|32):(4|5|7):/){ $check++; } @@ -48,13 +58,18 @@ foreach $temp (@buffer){ } } if($temp2 =~ m/^0:/){ $check++; } - } - if($check == 0){ - $error = $error | $ERROR_SYNTAX; + if($check == 0){ + $error = $error | $ERROR_STROKE_SYNTAX; + last; + } } if($error != 0){ - if($error & $ERROR_SYNTAX){ - $result .= "** 文法エラー・処理できない筆画があります **\n"; + if($error & $ERROR_LINE_SYNTAX){ + $result .= "** 行の構造が変です。またはコメント行が紛らわしいための誤検出の可能性があります。 **\n"; + } + if($error & $ERROR_STROKE_SYNTAX){ + $result .= "** 処理できない筆画があります **\n"; + $temp =~ s/$error_data/$error_data<\/span>/; } if($error & $ERROR_NOPARTS){ $result .= "** 99番で使用されている部品が存在しません **\n"; @@ -85,7 +100,7 @@ Content-type: text/html;

チェック結果

-

チェック結果は以下の通りです。

+

チェック結果は以下の通りです。なお、エラーがある場合、ここれで表示される以外にもエラーがある可能性がありますので、エラー修正後、再度チェックを行ってください。

 $result