add: if (data == NULL) { mimetype = my_gnome_vfs_get_mime_type_with_data (url, &data); }
context: totem_pl_parser_parse_internal (TotemPlParser *parser, const char *url){	const char *mimetype;	guint i;	gpointer data = NULL;	gboolean ret = FALSE;	if (parser->priv->recurse_level > 4)		return TOTEM_PL_PARSER_RESULT_ERROR;	parser->priv->recurse_level++;	if (totem_pl_parser_ignore (parser, url) != FALSE)		return TOTEM_PL_PARSER_RESULT_UNHANDLED;	mimetype = gnome_vfs_get_mime_type (url);	if (!mimetype)		mimetype = my_gnome_vfs_get_mime_type_with_data (url, &data);	if (mimetype == NULL)		return TOTEM_PL_PARSER_RESULT_UNHANDLED;	for (i = 0; i < G_N_ELEMENTS(special_types); i++) {		if (strcmp (special_types[i].mimetype, mimetype) == 0) {			ret = (* special_types[i].func) (parser, url, data);			g_free (data);			break;		}	}	for (i = 0; i < G_N_ELEMENTS(dual_types); i++) {		if (strcmp (dual_types[i].mimetype, mimetype) == 0) {			ret = (* dual_types[i].func) (parser, url, data);			g_free (data);			break;		}	}	if (ret == FALSE && parser->priv->fallback) {		totem_pl_parser_add_one_url (parser, url, NULL);		return TOTEM_PL_PARSER_RESULT_SUCCESS;	}	if (ret)		return TOTEM_PL_PARSER_RESULT_SUCCESS;	else		return TOTEM_PL_PARSER_RESULT_UNHANDLED;}