X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fcasl2.c;h=334e2a1c63400778006facbcaeed8e19cd70ac11;hp=da5a45b140be0e349d999d2112b6207719d9c062;hb=a7982d41c9809fdddbc5bac27c9d08b8a9d05012;hpb=d650cc4148ccd23f940ac60050c36c89897c168f diff --git a/src/casl2.c b/src/casl2.c index da5a45b..334e2a1 100644 --- a/src/casl2.c +++ b/src/casl2.c @@ -1,5 +1,6 @@ #include "package.h" #include "assemble.h" +#include "exec.h" /** * @brief CASL IIのエラーをエラーリストに追加 @@ -135,7 +136,7 @@ int main(int argc, char *argv[]) goto casl2fin; case '?': fprintf(stderr, usage, argv[0]); - setcerr(127, ""); /* invalid option */ + setcerr(212, ""); /* invalid option */ goto casl2fin; } } @@ -143,7 +144,7 @@ int main(int argc, char *argv[]) /* ソースファイルが指定されていない場合は終了 */ if(argv[optind] == NULL) { setcerr(126, ""); /* no source file */ - fprintf(stderr, "CASL2 error - %d: %s\n", cerr->num, cerr->msg); + fprintf(stderr, "casl2 error - %d: %s\n", cerr->num, cerr->msg); goto casl2fin; } create_cmdtable(HASH_CMDTYPE); /* 命令の名前とタイプがキーのハッシュ表を作成 */ @@ -153,7 +154,7 @@ int main(int argc, char *argv[]) } /* アセンブル */ if(assemble(i, af, 0) == false || asmode.onlylabel == true) { - goto freecmdtable; + goto shutdown; } /* オブジェクトファイル名が指定されている場合は、アセンブル結果をオブジェクトファイルに出力 */ if(objfile != NULL) { @@ -163,10 +164,10 @@ int main(int argc, char *argv[]) if(asmode.onlyassemble == false) { exec(); /* 仮想マシンCOMET IIの実行 */ } -freecmdtable: - shutdown(); /* 仮想マシンCOMET IIのシャットダウン */ - free_cmdtable(HASH_CMDTYPE); +shutdown: + shutdown(); /* 仮想マシンCOMET IIのシャットダウン */ casl2fin: + free_cmdtable(HASH_CMDTYPE); FREE(objfile); if(cerr->num > 0) { stat = 1;