Boolean	cycle = *(Boolean *)cyclep;
bool	cycle = *(bool *)cyclep;
MakePrintStatus(gnp, cyclep)    void *gnp;		    /* Node to examine */    void *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, &t);		gn->made = UNMADE;	    } else if (gn->made != ENDCYCLE) {		gn->made = CYCLE;		Lst_ForEach(&gn->children, MakePrintStatus, &t);	    }	} else {	    printf("`%s' not remade because of errors.\n", gn->name);	}    }}