X-Git-Url: https://git.cworth.org/git?p=mnemon;a=blobdiff_plain;f=mnemon.c;h=7b057db25a5c44c18cddd22aa07529951442dbab;hp=0dc45380760d3d3592a9c875a11b343f100d50eb;hb=71edc226d9b568d9740c54ea73005d8baea1ca8d;hpb=33d0169d3bd989486de8e97f58002c1544a8211e diff --git a/mnemon.c b/mnemon.c index 0dc4538..7b057db 100644 --- 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;