if (l == NULL) return;
Lst_Destroy(l, freeProc)    Lst	    	  	l;    SimpleProc		freeProc;{    LstNode	ln;    LstNode	tln;    if (l == NULL)	return;    if (freeProc) {	for (ln = l->firstPtr; ln != NULL; ln = tln) {	     tln = ln->nextPtr;	     (*freeProc)(ln->datum);	     free(ln);	}    } else {	for (ln = l->firstPtr; ln != NULL; ln = tln) {	     tln = ln->nextPtr;	     free(ln);	}    }    free(l);}