]> git.cworth.org Git - mnemon/blobdiff - mnemon.c
Remove the enumeration of challenge types.
[mnemon] / mnemon.c
index 0dc45380760d3d3592a9c875a11b343f100d50eb..7b057db25a5c44c18cddd22aa07529951442dbab 100644 (file)
--- a/mnemon.c
+++ b/mnemon.c
@@ -139,7 +139,7 @@ category_init (category_t *category,
     category->order = CATEGORY_ORDER_RANDOM;
     category->time_limit = 0.0;
     category->bin_zero_head = 0;
-    category->challenge_type = CHALLENGE_TYPE_TEXT;
+    category->challenge_type = xstrdup("");
     category->repeat = 0;
 }
 
@@ -154,6 +154,8 @@ category_fini (category_t *category)
     free (category->items);
 
     free (category->name);
+
+    free (category->challenge_type);
 }
 
 static void
@@ -210,25 +212,7 @@ category_print (category_t *category,
     fprintf (file, "time = %f\n\n",
             category->time_limit);
 
-    fprintf (file, "challenge = ");
-    switch (category->challenge_type) {
-    case CHALLENGE_TYPE_TEXT:
-       fprintf (file, "text");
-       break;
-    case CHALLENGE_TYPE_IMAGE:
-       fprintf (file, "image");
-       break;
-    case CHALLENGE_TYPE_AUDIO:
-       fprintf (file, "audio");
-       break;
-    case CHALLENGE_TYPE_MIDI:
-       fprintf (file, "midi");
-       break;
-    case CHALLENGE_TYPE_TEXT_TO_SPEECH:
-       fprintf (file, "text-to-speech");
-       break;
-    }
-    fprintf (file, "\n\n");
+    fprintf (file, "challenge = %s\n\n", category->challenge_type);
 
     fprintf (file, "repeat = %d\n\n", category->repeat);
 
@@ -575,21 +559,9 @@ mnemon_load_category (mnemon_t             *mnemon,
                exit (1);
            }
        } else if (strcmp (name, "challenge") == 0) {
-           if (strcmp (value, "text") == 0) {
-               category->challenge_type = CHALLENGE_TYPE_TEXT;
-           } else if (strcmp (value, "image") == 0) {
-               category->challenge_type = CHALLENGE_TYPE_IMAGE;
-           } else if (strcmp (value, "audio") == 0) {
-               category->challenge_type = CHALLENGE_TYPE_AUDIO;
-           } else if (strcmp (value, "midi") == 0) {
-               category->challenge_type = CHALLENGE_TYPE_MIDI;
-           } else if (strcmp (value, "text-to-speech") == 0) {
-               category->challenge_type = CHALLENGE_TYPE_TEXT_TO_SPEECH;
-           } else {
-               fprintf (stderr, "Unknown value for \"challenge\" option \"%s\" at %s:%d\n",
-                        value, path, line_count);
-               exit (1);
-           }
+           /* XXX: Need to switch to talloc here. */
+           free (category->challenge_type);
+           category->challenge_type = xstrdup (value);
        } else if (strcmp (name, "repeat") == 0) {
            if (strcmp (value, "0") == 0) 
                category->repeat = 0;