]> j8takagi.net git repositories - yacasl2.git/commitdiff
comet2monitorで引数が無視される場合のメッセージを設定
authorj8takagi <j8takagi@nifty.com>
Sat, 30 May 2026 15:03:35 +0000 (00:03 +0900)
committerj8takagi <j8takagi@nifty.com>
Sat, 30 May 2026 15:03:35 +0000 (00:03 +0900)
include/monitor.h
src/comet2monitor.c
src/monitor.c

index a503183bbe23db18c90fe0d0b67385249a997c20..b81c71ee687cb5c0a29b3ed1f4b9449068e3ba09 100644 (file)
@@ -93,6 +93,14 @@ MONCMDLINE *monlinetok(const char *line);
  */
 MONCMDTYPE monitorcmd(char *cmd, MONARGS *args);
 
+/**
+ * @brief 引数が無視されることを表示する
+ *
+ * @param argc 引数の配列数
+ * @param *argv 引数配列
+ */
+void warn_ignore_arg(int argc, char *argv[]);
+
 /**
  * @brief ブレークポイント表にアドレスがある場合はtrue、ない場合はfalseを返す
  *
index 1f08637a61632937bec8e8074ff300b28afa600c..d71c93b8e3c1a18215f2529502e3b013bb0580ed 100644 (file)
@@ -1,6 +1,7 @@
 #include "package.h"
 #include "exec.h"
 #include "load.h"
+#include "monitor.h"
 
 /**
  * comet2monitorコマンドのオプション
@@ -70,6 +71,10 @@ int main(int argc, char *argv[])
             goto comet2monitorfin;
         }
     }
+    /* 残りの引数(オプション以外の引数)があるかチェック */
+    if (optind < argc) {
+        warn_ignore_arg(argc - optind, argv + optind);
+    }
     create_cmdtable(HASH_CMDTYPE);
     reset(memsize, clocks);     /* COMET II仮想マシンのリセット */
     execptr->start = 0;
index 8ad69cef13b8fb30e59a46e466b659c1a00469fb..aabb23c3df25a6be14fb78ef87f859313cbcedf9 100644 (file)
@@ -196,13 +196,14 @@ bool stracmp(char *str1, int str2c, char *str2v[])
 void warn_ignore_arg(int argc, char *argv[])
 {
     int i;
+    fprintf(stderr, "Info: arguments '");
     for(i = 0; i < argc; i++) {
         if(i > 0) {
             fprintf(stderr, " ");
         }
         fprintf(stderr, "%s", argv[i]);
     }
-    fprintf(stderr, ": ignored.\n");
+    fprintf(stderr, "' are ignored.\n");
 }
 
 void mon_break(int argc, char *argv[])