- board_enumerate (board, x, y, seen, &word, dict);
+ board_enumerate (board, x, y, seen, word, dict_root (dict));
+}
+
+static bool_t
+seen_predicate (dict_entry_t entry)
+{
+ return entry & GRID_WORD_SEEN;
+}
+
+static bool_t
+unseen_predicate (dict_entry_t entry)
+{
+ return ! seen_predicate (entry);
+}
+
+static void
+_count_possible (dict_cursor_t cursor,
+ int depth,
+ int possible[17])
+{
+ char c;
+
+ if (cursor == DICT_CURSOR_NIL)
+ return;
+
+ if (DICT_ENTRY_IS_WORD (dict_cursor_resolve (cursor)))
+ possible[depth]++;