OSDN Git Service

オプショナルコメントの引数定義を追加
[coroid/inqubus.git] / vhook / framehook.c
index f6da2b2..b1b5ca1 100644 (file)
@@ -121,21 +121,29 @@ int init_setting(FILE*log,const toolbox *tbox,SETTING* setting,int argc, char *a
     setting->aspect_mode = 0;
        int i;
        char* arg;
-       for(i=0;i<argc;i++) {
+    for (i = 0; i < argc; i++) {
         arg = argv[i];
-        if (!setting->comment[0].path && strncmp(FRAMEHOOK_OPT_DATA_USER, arg, FRAMEHOOK_OPT_DATA_USER_LEN) == 0) {
-            char* data = arg + FRAMEHOOK_OPT_DATA_USER_LEN;
-            setting->comment[0].path = data;
-            setting->comment[0].enable = TRUE;
-            fprintf(log, "[framehook/init]User Comment data path:%s\n", setting->comment[0].path);
-            fflush(log);
-        } else if (!setting->comment[1].path && strncmp(FRAMEHOOK_OPT_DATA_OWNER, arg, FRAMEHOOK_OPT_DATA_OWNER_LEN) == 0) {
-            char* data = arg + FRAMEHOOK_OPT_DATA_OWNER_LEN;
-            setting->comment[1].path = data;
-            setting->comment[1].enable = TRUE;
-            fprintf(log, "[framehook/init]Owner Comment data path:%s\n", setting->comment[1].path);
-            fflush(log);
-               }else if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
+        int hit_comment = FALSE;
+        for (int j = 0; j < N_COMMENT_TYPE; j++) {
+            const char* const prefix = FRAMEHOOK_OPT_DATA[j];
+            const int prefix_len = strlen(prefix);
+            SETTING_COMMENT* const comset = &setting->comment[j];
+            if (!comset->path && strncmp(prefix, arg, prefix_len)) {
+                const char* data = arg + prefix_len;
+                comset->path = data;
+                comset->enable = TRUE;
+                fprintf(log, "[framehook/init]Comment data[%d] path:%s\n",
+                        j, comset->path);
+                fflush(log);
+                hit_comment = TRUE;
+                break;
+            }
+        }
+        if (hit_comment) {
+            continue;
+        }
+
+               if(!setting->font_path && strncmp(FRAMEHOOK_OPT_FONT,arg,FRAMEHOOK_OPT_FONT_LEN) == 0){
                        char* font = arg+FRAMEHOOK_OPT_FONT_LEN;
                        setting->font_path = font;
                        fprintf(log,"[framehook/init]Font path:%s\n",setting->font_path);