All pastes #2001441 Raw Edit

prendLaSauce

public c v1 · immutable
#2001441 ·published 2010-11-24 22:26 UTC
rendered paste body
void mem_free(void* zone) {	struct fb* nouveau;	nouveau = (struct fb*) (((char *) zone) - sizeof(struct ab));	nouveau->taille = ((struct ab*) nouveau)->taille;	if ((tete == NULL) || (((struct fb*) zone) < tete)) {		nouveau->next = tete; //nouvelle tete		tete = nouveau;		if (nouveau->next != NULL) { //fusion			if (nouveau->next == (struct fb*) (((char *) nouveau) + nouveau->taille)) {				nouveau->taille = nouveau->taille + (nouveau->next)->taille;				nouveau->next = (nouveau->next)->next;			}		}	} else {		struct fb *prev, *courant;		courant = tete;		prev = courant;		while ((courant != NULL) && (courant < nouveau)) {			prev = courant;			courant = courant->next;		}		if (courant > nouveau) {			prev->next = nouveau;			nouveau->next = courant;			if (nouveau->next != NULL) { //fusion				if (nouveau->next == (struct fb*) (((char *) nouveau) + nouveau->taille)) {					nouveau->taille = nouveau->taille + (nouveau->next)->taille;					nouveau->next = (nouveau->next)->next;				}			}			if (prev->next == (struct fb*) (((char *) prev) + prev->taille)) {				prev->taille = prev->taille + (prev->next)->taille;				prev->next = (prev->next)->next;			}		}	}}