const char *version = PACKAGE_VERSION, *cmdversion = "disassemble of YACASL2 version %s\n";
const char *usage = "Usage: %s [-vh] FILE\n";
+ /* エラーの定義 */
cerr_init();
addcerrlist_load();
addcerrlist_exec();
switch(opt) {
case 'v':
fprintf(stdout, cmdversion, version);
- return 0;
+ goto casl2revfin;
case 'h':
fprintf(stdout, usage, argv[0]);
- return 0;
+ goto casl2revfin;
case '?':
fprintf(stderr, usage, argv[0]);
- exit(1);
+ setcerr(212, ""); /* invalid option */
+ goto casl2revfin;
}
}
if(argv[optind] == NULL) {
exit(1);
}
disassemble_file(argv[optind]); /* プログラム実行 */
- stat = (cerr->num == 0) ? 0 : 1;
- /* エラーの解放 */
- freecerr();
+casl2revfin:
+ if(cerr->num > 0) {
+ stat = 1;
+ }
+ freecerr(); /* エラーの解放 */
return stat;
}