Buenas, tengo un problema con esta funcion cuando pido los datos que se van a agregar a la lista, solo inserta el 1ero, y de ahi en adelante se queda en un ciclo infinito y no tengo la menor idea de porque... ya he movido los indices, he cambiado a incrementar y decrementar pero nada sigue dandome ese problema... les dejo la funcion:
  
Código:
 void insertar(Lista *list,char e,int pos){
int i;
 for(i=list->l+1;i>=pos+1;i--){
	list->elem[i]=list->elem[i-1];
 }
	list->elem[pos]=e;
	list->l++;
}
  si necesitan algo mas del codigo pidanlo y lo posteo