X-Git-Url: https://git.cworth.org/git?p=mnemon;a=blobdiff_plain;f=mnemon.c;h=ea2e0a1e06c5ecbf1d18da1943cb09ea1ec58871;hp=67b5889dcfa1040d56c17a33bad250906bd94420;hb=a2a91a3fa4d6cbbfb52b4d6e2233cc39f2488865;hpb=c99ea4af83e849df05018d4e72121f8f73de8bd2 diff --git a/mnemon.c b/mnemon.c index 67b5889..ea2e0a1 100644 --- a/mnemon.c +++ b/mnemon.c @@ -543,7 +543,7 @@ mnemon_save (mnemon_t *mnemon) err = rename (lock_filename, filename); if (err < 0) { - fprintf (stderr, "Error: Failes to rename %s to %s: %s\n", + fprintf (stderr, "Error: Failed to rename %s to %s: %s\n", lock_filename, filename, strerror (errno)); continue; } @@ -637,8 +637,10 @@ mnemon_do_challenges (mnemon_t *mnemon) printf ("%s\n", item->challenge); response = readline ("> "); - if (response == NULL) + if (response == NULL) { + printf ("\n"); break; + } correct = (strcmp (response, item->response) == 0); @@ -647,18 +649,22 @@ mnemon_do_challenges (mnemon_t *mnemon) mnemon_remove_bin (mnemon, bin); if (correct) { - printf ("Correct!\n\n"); - if (item->count < 0) + printf ("Correct! (Moving from %d to ", item->count); + item->count++; + /* We reserve an item count of 0 for an item that has + * never been asked. */ + if (item->count == 0) item->count = 1; - else - item->count++; + printf ("%d)\n\n", item->count); } else { - printf (" %s is the correct answer.\n\n", - item->response); - if (item->count > 0) + printf (" %s is the correct answer. (Moving from %d to ", + item->response, item->count); + item->count--; + /* Penalize an incorrect response by forcing the count + * negative. */ + if (item->count >= 0) item->count = -1; - else - item->count--; + printf ("%d)\n\n", item->count); } bin = mnemon_get_bin (mnemon, item->count);