+
+ if (exact_match)
+ break;
+
+#if 0
+ if (IS_PARENT_PROCESS())
+ printf("---> examining token '%s': search 3rd suffix ...\n",token);
+#endif
+
+ /* ---------- step 3: search for matching third suffix ---------- */
+
+ for (l=0; l<num_ext3_suffixes && !ext3_suffix_found; l++)
+ {
+ char *ext3_suffix = ext3_suffixes[l];
+ int len_ext3_suffix = strlen(ext3_suffix);
+
+ ext3_suffix_found =token_suffix_match(token,ext3_suffix,start_pos);
+
+ if (!ext3_suffix_found)
+ continue;
+
+ ext3_index = l;
+
+ if (start_pos + len_ext3_suffix == len_token) /* exact match */
+ {
+ exact_match = TRUE;
+
+ add_dynamic_file_list_entry(dynamic_file_list,
+ num_dynamic_file_list_entries,
+ extra_file_list,
+ suffix_list,
+ num_suffix_list_entries,
+ token);
+ add_property_mapping(property_mapping,
+ num_property_mapping_entries,
+ base_index, ext1_index, ext2_index, ext3_index,
+ current_summarized_file_list_entry);
+ continue;
+ }
+ }
+ }
+ }
+
+ if (artwork_info->num_dynamic_file_list_entries > 0)
+ {
+ artwork_info->dynamic_artwork_list =
+ checked_calloc(artwork_info->num_dynamic_file_list_entries *
+ artwork_info->sizeof_artwork_list_entry);
+ }
+
+ if (extra_file_list != NULL && options.verbose && IS_PARENT_PROCESS())
+ {
+ boolean dynamic_tokens_found = FALSE;
+ boolean unknown_tokens_found = FALSE;
+
+ for (list = extra_file_list; list != NULL; list = list->next)
+ {
+ if (strcmp(list->value, known_token_value) == 0)
+ dynamic_tokens_found = TRUE;
+ else
+ unknown_tokens_found = TRUE;
+ }
+
+#if DEBUG
+ if (dynamic_tokens_found)
+ {
+ Error(ERR_RETURN_LINE, "-");
+ Error(ERR_RETURN, "dynamic token(s) found:");
+
+ for (list = extra_file_list; list != NULL; list = list->next)
+ if (strcmp(list->value, known_token_value) == 0)
+ Error(ERR_RETURN, "- dynamic token: '%s'", list->token);
+
+ Error(ERR_RETURN_LINE, "-");
+ }
+#endif
+
+ if (unknown_tokens_found)
+ {
+ Error(ERR_RETURN_LINE, "-");
+ Error(ERR_RETURN, "warning: unknown token(s) found in config file:");
+ Error(ERR_RETURN, "- config file: '%s'", filename);
+
+ for (list = extra_file_list; list != NULL; list = list->next)
+ if (strcmp(list->value, known_token_value) != 0)
+ Error(ERR_RETURN, "- unknown token: '%s'", list->token);
+
+ Error(ERR_RETURN_LINE, "-");