- struct FileInfo **dynamic_file_list =
- &artwork_info->dynamic_file_list;
- int *num_dynamic_file_list_entries =
- &artwork_info->num_dynamic_file_list_entries;
- struct PropertyMapping **property_mapping =
- &artwork_info->property_mapping;
- int *num_property_mapping_entries =
- &artwork_info->num_property_mapping_entries;
- int current_summarized_file_list_entry =
- artwork_info->num_file_list_entries +
- artwork_info->num_dynamic_file_list_entries;
- char *token = HASH_ITERATION_TOKEN(itr);
- int len_token = strlen(token);
- int start_pos;
- boolean base_prefix_found = FALSE;
- boolean parameter_suffix_found = FALSE;
-
- /* skip all parameter definitions (handled by read_token_parameters()) */
- for (i=0; i < num_suffix_list_entries && !parameter_suffix_found; i++)
- {
- int len_suffix = strlen(suffix_list[i].token);
-
- if (token_suffix_match(token, suffix_list[i].token, -len_suffix))
- parameter_suffix_found = TRUE;
- }
-
-#if 0
- if (IS_PARENT_PROCESS())
- {
- if (parameter_suffix_found)
- printf("---> skipping token '%s' (parameter token)\n", token);
- else
- printf("---> examining token '%s': search prefix ...\n", token);
- }
-#endif
-
- if (parameter_suffix_found)
- continue;
-
- /* ---------- step 0: search for matching base prefix ---------- */
-
- start_pos = 0;
- for (i=0; i<num_base_prefixes && !base_prefix_found; i++)
- {
- char *base_prefix = base_prefixes[i];
- int len_base_prefix = strlen(base_prefix);
- boolean ext1_suffix_found = FALSE;
- boolean ext2_suffix_found = FALSE;
- boolean ext3_suffix_found = FALSE;
- boolean exact_match = FALSE;
- int base_index = -1;
- int ext1_index = -1;
- int ext2_index = -1;
- int ext3_index = -1;
-
- base_prefix_found = token_suffix_match(token, base_prefix, start_pos);
-
- if (!base_prefix_found)
- continue;
-
- base_index = i;
-
- if (start_pos + len_base_prefix == len_token) /* exact match */
- {
- exact_match = TRUE;