Lst_ForEach(gn->children, MakePrintStatus, (ClientData) &t);
Lst_ForEach(gn->children, MakePrintStatus, &t);
MakePrintStatus(gnp, cyclep)    ClientData  gnp;	    /* Node to examine */    ClientData 	cyclep;	    /* True if gn->unmade being non-zero implies			     * a cycle in the graph, not an error in an			     * inferior */{    GNode   	*gn = (GNode *) gnp;    Boolean 	cycle = *(Boolean *) cyclep;    if (gn->made == UPTODATE) {	printf ("`%s' is up to date.\n", gn->name);    } else if (gn->unmade != 0) {	if (cycle) {	    Boolean t = TRUE;	    /*	     * If printing cycles and came to one that has unmade children,	     * print out the cycle by recursing on its children. Note a	     * cycle like:	     *	a : b	     *	b : c	     *	c : b	     * will cause this to erroneously complain about a being in	     * the cycle, but this is a good approximation.	     */	    if (gn->made == CYCLE) {		Error("Graph cycles through `%s'", gn->name);		gn->made = ENDCYCLE;		Lst_ForEach(gn->children, MakePrintStatus, (ClientData) &t);		gn->made = UNMADE;	    } else if (gn->made != ENDCYCLE) {		gn->made = CYCLE;		Lst_ForEach(gn->children, MakePrintStatus, (ClientData) &t);	    }	} else {	    printf ("`%s' not remade because of errors.\n", gn->name);	}    }    return (0);}