static enum tag_type tag_ape_name_parse(const char *name) { enum tag_type type = tag_table_lookup_i(ape_tags, name); if (type == TAG_NUM_OF_ITEM_TYPES) type = tag_name_parse_i(name); return type; }
void tag_lib_init(void) { const char *value; int quit = 0; char *temp; char *s; char *c; enum tag_type type; /* parse the "metadata_to_use" config parameter below */ /* ignore comments by default */ ignore_tag_items[TAG_COMMENT] = true; value = config_get_string(CONF_METADATA_TO_USE, NULL); if (value == NULL) return; memset(ignore_tag_items, true, TAG_NUM_OF_ITEM_TYPES); if (0 == g_ascii_strcasecmp(value, "none")) return; temp = c = s = g_strdup(value); while (!quit) { if (*s == ',' || *s == '\0') { if (*s == '\0') quit = 1; *s = '\0'; c = g_strstrip(c); if (*c == 0) continue; type = tag_name_parse_i(c); if (type == TAG_NUM_OF_ITEM_TYPES) MPD_ERROR("error parsing metadata item \"%s\"", c); ignore_tag_items[type] = false; s++; c = s; } s++; } g_free(temp); }
int locate_parse_type(const char *str) { if (0 == g_ascii_strcasecmp(str, LOCATE_TAG_FILE_KEY) || 0 == g_ascii_strcasecmp(str, LOCATE_TAG_FILE_KEY_OLD)) return LOCATE_TAG_FILE_TYPE; if (0 == g_ascii_strcasecmp(str, LOCATE_TAG_ANY_KEY)) return LOCATE_TAG_ANY_TYPE; enum tag_type i = tag_name_parse_i(str); if (i != TAG_NUM_OF_ITEM_TYPES) return i; return -1; }