Prevent any item count from being 0 after being asked.
authorCarl Worth <cworth@cworth.org>
Tue, 17 Apr 2007 19:45:51 +0000 (12:45 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 17 Apr 2007 20:07:55 +0000 (13:07 -0700)
mnemon.c

index d28657bfe20d8a4c877bbbb30edf98d2694a74a7..6600798c77d9f29429e6f1bc18633008e0d3452f 100644 (file)
--- a/mnemon.c
+++ b/mnemon.c
@@ -651,12 +651,18 @@ mnemon_do_challenges (mnemon_t *mnemon)
        if (correct) {
            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;
            printf ("%d)\n\n", item->count);
        } else {
            printf ("  %s is the correct answer. (Moving from %d to ",
                    item->response, item->count);
            item->count--;
-           if (item->count > 0)
+           /* Penalize an incorrect response by forcing the count
+            * negative. */
+           if (item->count >= 0)
                item->count = -1;
            printf ("%d)\n\n", item->count);
        }