Bonjour à tous!

je vous expose mon problème:
j'ai une liste doublement chainée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
typedef struct strListe{
	char car;
	struct strListe *suivant;
	struct strListe *precedent;
}liste;
et je ne parviens pas à faire une fonction de suppression d'un élément.
voici ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
void Supprimer(liste **victime){
	if((*victime)->precedent!=NULL)
		(*victime)->precedent->suivant=(*victime)->suivant;
	if((*pvictime)->suivant!=NULL)
		(*victime)->suivant->precedent=(*victime)->precedent;
	free(**victime);
	return;
}
mais cette fonction supprime toute la liste, du debut jusqu'à l'élément passé en paramètre ... et je ne trouve pas mon erreur
pourriez-vous me l'indiquer? (oui j'ai cherché avant de poster, non je ne demande pas la solution toute faite )

Merci d'avance.