rem: || strncmp (filename, "dvd:", 4) == 0 || strncmp (filename, "vcd:", 4) == 0 || strncmp (filename, "cdda:", 5) == 0 || strncmp (filename, "cd:", 3) == 0)
add: || g_str_has_prefix (filename, "dvd:") != FALSE || g_str_has_prefix (filename, "vcd:") != FALSE || g_str_has_prefix (filename, "cdda:") != FALSE || g_str_has_prefix (filename, "cd:") != FALSE)
context: totem_action_open_files_list (Totem *totem, GSList *list){	GSList *l;	gboolean cleared = FALSE;	if (list == NULL)		return cleared;	for (l = list ; l != NULL; l = l->next)	{		char *filename, *local_path;		char *data = l->data;		if (data == NULL)			continue;		/* Ignore relatives paths that start with "--", tough luck */		if (data[0] == '-' && data[1] == '-')			continue;		/* Get the subtitle part out for our tests */		filename = totem_create_full_path (data);		local_path = gnome_vfs_get_local_path_from_uri (filename);		if (local_path != NULL && g_file_test (local_path, G_FILE_TEST_IS_DIR))		{			g_free (local_path);			continue;		} else if (local_path != NULL && g_file_test (local_path, G_FILE_TEST_EXISTS) == FALSE)		{			g_free (local_path);			continue;		}		if (g_file_test (filename, G_FILE_TEST_IS_REGULAR)				|| strstr (filename, "#") != NULL				|| strstr (filename, "://") != NULL				|| strncmp (filename, "dvd:", 4) == 0				|| strncmp (filename, "vcd:", 4) == 0				|| strncmp (filename, "cdda:", 5) == 0				|| strncmp (filename, "cd:", 3) == 0)		{			if (cleared == FALSE)			{				/* The function that calls us knows better				 * if we should be doing something with the 				 * changed playlist ... */				g_signal_handlers_disconnect_by_func					(G_OBJECT (totem->playlist),					 playlist_changed_cb, totem);				totem_playlist_clear (totem->playlist);				bacon_video_widget_close (totem->bvw);				cleared = TRUE;			}			if (strcmp (data, "dvd:") == 0)			{				totem_action_load_media (totem, MEDIA_DVD);			} else if (strcmp (data, "vcd:") == 0) {				totem_action_load_media (totem, MEDIA_VCD);			} else if (strcmp (data, "cd:") == 0) {				totem_action_load_media (totem, MEDIA_CDDA);			} else if (strstr (filename, "cdda:/") != NULL) {				totem_add_cd_track_name (totem, filename);			} else if (totem_playlist_add_mrl (totem->playlist,						filename, NULL) != FALSE) {				totem_action_add_recent (totem, filename);			}		}		g_free (filename);	}	/* ... and reconnect because we're nice people */	if (cleared != FALSE)	{		g_signal_connect (G_OBJECT (totem->playlist),				"changed", G_CALLBACK (playlist_changed_cb),				totem);	}	return cleared;}