5 * @brief dumpwordコマンドのオプション
7 static struct option longopts[] = {
8 { "arithmetic", no_argument, NULL, 'a' },
9 { "logical", no_argument, NULL, 'l' },
10 { "version", no_argument, NULL, 'v' },
11 { "help", no_argument, NULL, 'h' },
16 * @brief dumpwordコマンドのメイン
18 * @return 正常終了時は0、エラー発生時は1
20 * @param argc コマンドライン引数の数
21 * @param *argv[] コマンドライン引数の配列
23 int main(int argc, char *argv[])
25 bool logicalmode = false; /* レジストリの内容を論理値(0から65535)で表示する場合はtrue */
28 const char *version = PACKAGE_VERSION, *cmdversion = "dumpword of YACASL2 version %s\n";
29 const char *usage = "Usage: %s [-alh] WORD\n";
37 while((opt = getopt_long(argc, argv, "alvh", longopts, NULL)) != -1) {
43 fprintf(stdout, cmdversion, version);
46 fprintf(stdout, usage, argv[0]);
49 fprintf(stderr, usage, argv[0]);
50 setcerr(212, ""); /* invalid option */
55 if(argv[optind] == NULL) {
56 setcerr(213, ""); /* invalid argument */
57 fprintf(stderr, usage, argv[0]);
61 word = nh2word(argv[optind]);
63 fprintf(stderr, "Dumpword Error - %d: %s\n", cerr->num, cerr->msg);
66 fprintf(stdout, "%6s: ", argv[optind]);
67 print_dumpword(word, logicalmode);
68 fprintf(stdout, "\n");
73 freecerr(); /* エラーの解放 */