+ /* Look at each successive run of tiles in the bag until
+ * finding one that has at least one non-obscure word using
+ * all of its leters. */
+ for (i = 0; i + length <= bottom + 1; i++) {
+ memcpy (word, &rack->bag.tiles[i], length);
+ word[length] = '\0';
+ dict_fini (&rack->solution);
+ dict_init (&rack->solution);
+ subanagram_expand (word, &rack->dict, &rack->solution);
+ dict_for_each (&rack->solution,
+ _flag_obscure_word, &rack->obscure);
+ has_full_length_non_obscure_word = 0;
+ dict_for_each_of_length (&rack->solution,
+ _at_least_one_is_not_obscure,
+ &has_full_length_non_obscure_word,
+ length, length);
+ if (has_full_length_non_obscure_word)
+ goto DONE;
+ i++;
+ }