- /* fallthru */
- case SECTION_END_SEEN:
- case START:
- if (matches(key, value, store)) {
- ALLOC_GROW(store->seen, store->seen_nr + 1,
- store->seen_alloc);
- store->seen[store->seen_nr] = cf->do_ftell(cf);
- store->state = KEY_SEEN;
- store->seen_nr++;
- } else {
- if (strrchr(key, '.') - key == store->baselen &&
- !strncmp(key, store->key, store->baselen)) {
- store->state = SECTION_SEEN;
- ALLOC_GROW(store->seen,
- store->seen_nr + 1,
- store->seen_alloc);
- store->seen[store->seen_nr] =
- cf->do_ftell(cf);
- }
+ }
+
+ if (matches(key, value, store)) {
+ ALLOC_GROW(store->seen, store->seen_nr + 1,
+ store->seen_alloc);
+ store->seen[store->seen_nr] = cf->do_ftell(cf);
+ store->seen_nr++;
+ store->key_seen = 1;
+ store->section_seen = 1;
+ store->is_keys_section = 1;
+ } else {
+ if (strrchr(key, '.') - key == store->baselen &&
+ !strncmp(key, store->key, store->baselen)) {
+ store->section_seen = 1;
+ store->is_keys_section = 1;
+ ALLOC_GROW(store->seen,
+ store->seen_nr + 1,
+ store->seen_alloc);
+ store->seen[store->seen_nr] =
+ cf->do_ftell(cf);