Module Name:    src
Committed By:   rillig
Date:           Sat Dec  5 15:35:34 UTC 2020

Modified Files:
        src/usr.bin/make: targ.c

Log Message:
make(1): indent targ.c with tabs instead of spaces

Explain the tricky details of GNode_Free.

Invert a condition in Targ_PrintNode to reduce the overall indentation.


To generate a diff of this commit:
cvs rdiff -u -r1.149 -r1.150 src/usr.bin/make/targ.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/targ.c
diff -u src/usr.bin/make/targ.c:1.149 src/usr.bin/make/targ.c:1.150
--- src/usr.bin/make/targ.c:1.149	Fri Dec  4 14:39:56 2020
+++ src/usr.bin/make/targ.c	Sat Dec  5 15:35:34 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: targ.c,v 1.149 2020/12/04 14:39:56 rillig Exp $	*/
+/*	$NetBSD: targ.c,v 1.150 2020/12/05 15:35:34 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -119,7 +119,7 @@
 #include "dir.h"
 
 /*	"@(#)targ.c	8.2 (Berkeley) 3/19/94"	*/
-MAKE_RCSID("$NetBSD: targ.c,v 1.149 2020/12/04 14:39:56 rillig Exp $");
+MAKE_RCSID("$NetBSD: targ.c,v 1.150 2020/12/05 15:35:34 rillig Exp $");
 
 /*
  * All target nodes that appeared on the left-hand side of one of the
@@ -137,24 +137,24 @@ static void GNode_Free(void *);
 void
 Targ_Init(void)
 {
-    HashTable_Init(&allTargetsByName);
+	HashTable_Init(&allTargetsByName);
 }
 
 void
 Targ_End(void)
 {
-    Targ_Stats();
+	Targ_Stats();
 #ifdef CLEANUP
-    Lst_Done(&allTargets);
-    HashTable_Done(&allTargetsByName);
-    Lst_DoneCall(&allNodes, GNode_Free);
+	Lst_Done(&allTargets);
+	HashTable_Done(&allTargetsByName);
+	Lst_DoneCall(&allNodes, GNode_Free);
 #endif
 }
 
 void
 Targ_Stats(void)
 {
-    HashTable_DebugStats(&allTargetsByName, "targets");
+	HashTable_DebugStats(&allTargetsByName, "targets");
 }
 
 /*
@@ -165,10 +165,11 @@ Targ_Stats(void)
 GNodeList *
 Targ_List(void)
 {
-    return &allTargets;
+	return &allTargets;
 }
 
-/* Create a new graph node, but don't register it anywhere.
+/*
+ * Create a new graph node, but don't register it anywhere.
  *
  * Graph nodes that appear on the left-hand side of a dependency line such
  * as "target: source" are called targets.  XXX: In some cases (like the
@@ -185,68 +186,95 @@ Targ_List(void)
 GNode *
 GNode_New(const char *name)
 {
-    GNode *gn;
+	GNode *gn;
 
-    gn = bmake_malloc(sizeof *gn);
-    gn->name = bmake_strdup(name);
-    gn->uname = NULL;
-    gn->path = NULL;
-    gn->type = name[0] == '-' && name[1] == 'l' ? OP_LIB : 0;
-    gn->flags = 0;
-    gn->made = UNMADE;
-    gn->unmade = 0;
-    gn->mtime = 0;
-    gn->youngestChild = NULL;
-    Lst_Init(&gn->implicitParents);
-    Lst_Init(&gn->parents);
-    Lst_Init(&gn->children);
-    Lst_Init(&gn->order_pred);
-    Lst_Init(&gn->order_succ);
-    Lst_Init(&gn->cohorts);
-    gn->cohort_num[0] = '\0';
-    gn->unmade_cohorts = 0;
-    gn->centurion = NULL;
-    gn->checked_seqno = 0;
-    HashTable_Init(&gn->vars);
-    Lst_Init(&gn->commands);
-    gn->suffix = NULL;
-    gn->fname = NULL;
-    gn->lineno = 0;
+	gn = bmake_malloc(sizeof *gn);
+	gn->name = bmake_strdup(name);
+	gn->uname = NULL;
+	gn->path = NULL;
+	gn->type = name[0] == '-' && name[1] == 'l' ? OP_LIB : 0;
+	gn->flags = 0;
+	gn->made = UNMADE;
+	gn->unmade = 0;
+	gn->mtime = 0;
+	gn->youngestChild = NULL;
+	Lst_Init(&gn->implicitParents);
+	Lst_Init(&gn->parents);
+	Lst_Init(&gn->children);
+	Lst_Init(&gn->order_pred);
+	Lst_Init(&gn->order_succ);
+	Lst_Init(&gn->cohorts);
+	gn->cohort_num[0] = '\0';
+	gn->unmade_cohorts = 0;
+	gn->centurion = NULL;
+	gn->checked_seqno = 0;
+	HashTable_Init(&gn->vars);
+	Lst_Init(&gn->commands);
+	gn->suffix = NULL;
+	gn->fname = NULL;
+	gn->lineno = 0;
 
 #ifdef CLEANUP
-    Lst_Append(&allNodes, gn);
+	Lst_Append(&allNodes, gn);
 #endif
 
-    return gn;
+	return gn;
 }
 
 #ifdef CLEANUP
 static void
 GNode_Free(void *gnp)
 {
-    GNode *gn = gnp;
+	GNode *gn = gnp;
 
-    free(gn->name);
-    free(gn->uname);
-    free(gn->path);
-    /* gn->youngestChild is not owned by this node. */
-    Lst_Done(&gn->implicitParents); /* Do not free the nodes themselves, */
-    Lst_Done(&gn->parents);	/* as they are not owned by this node. */
-    Lst_Done(&gn->children);	/* likewise */
-    Lst_Done(&gn->order_pred);	/* likewise */
-    Lst_Done(&gn->order_succ);	/* likewise */
-    Lst_Done(&gn->cohorts);	/* likewise */
-    HashTable_Done(&gn->vars);	/* Do not free the variables themselves,
-				 * even though they are owned by this node.
-				 * XXX: they should probably be freed. */
-    Lst_Done(&gn->commands);	/* Do not free the commands themselves,
-				 * as they may be shared with other nodes. */
-    /* gn->suffix is not owned by this node. */
-    /* XXX: gn->suffix should be unreferenced here.  This requires a thorough
-     * check that the reference counting is done correctly in all places,
-     * otherwise a suffix might be freed too early. */
+	free(gn->name);
+	free(gn->uname);
+	free(gn->path);
+
+	/* Don't free gn->youngestChild since it is not owned by this node. */
+
+	/*
+	 * In the following lists, only free the list nodes, but not the
+	 * GNodes in them since these are not owned by this node.
+	 */
+	Lst_Done(&gn->implicitParents);
+	Lst_Done(&gn->parents);
+	Lst_Done(&gn->children);
+	Lst_Done(&gn->order_pred);
+	Lst_Done(&gn->order_succ);
+	Lst_Done(&gn->cohorts);
+
+	/*
+	 * Do not free the variables themselves, even though they are owned
+	 * by this node.
+	 *
+	 * XXX: For the nodes that represent targets or sources (and not
+	 * VAR_GLOBAL), it should be safe to free the variables as well,
+	 * since each node manages the memory for all its variables itself.
+	 *
+	 * XXX: The GNodes that are only used as variable contexts (VAR_CMD,
+	 * VAR_GLOBAL, VAR_INTERNAL) are not freed at all (see Var_End, where
+	 * they are not mentioned).  These might be freed at all, if their
+	 * variable values are indeed not used anywhere else (see Trace_Init
+	 * for the only suspicious use).
+	 */
+	HashTable_Done(&gn->vars);
+
+	/*
+	 * Do not free the commands themselves, as they may be shared with
+	 * other nodes.
+	 */
+	Lst_Done(&gn->commands);
+
+	/*
+	 * gn->suffix is not owned by this node.
+	 *
+	 * XXX: gn->suffix should be unreferenced here.  This requires a
+	 * thorough check that the reference counting is done correctly in
+	 * all places, otherwise a suffix might be freed too early.
+	 */
 
-    free(gn);
+	free(gn);
 }
 #endif
 
@@ -254,23 +282,23 @@ GNode_Free(void *gnp)
 GNode *
 Targ_FindNode(const char *name)
 {
-    return HashTable_FindValue(&allTargetsByName, name);
+	return HashTable_FindValue(&allTargetsByName, name);
 }
 
 /* Get the existing global node, or create it. */
 GNode *
 Targ_GetNode(const char *name)
 {
-    Boolean isNew;
-    HashEntry *he = HashTable_CreateEntry(&allTargetsByName, name, &isNew);
-    if (!isNew)
-	return HashEntry_Get(he);
-
-    {
-	GNode *gn = Targ_NewInternalNode(name);
-	HashEntry_Set(he, gn);
-	return gn;
-    }
+	Boolean isNew;
+	HashEntry *he = HashTable_CreateEntry(&allTargetsByName, name, &isNew);
+	if (!isNew)
+		return HashEntry_Get(he);
+
+	{
+		GNode *gn = Targ_NewInternalNode(name);
+		HashEntry_Set(he, gn);
+		return gn;
+	}
 }
 
 /*
@@ -282,13 +310,13 @@ Targ_GetNode(const char *name)
 GNode *
 Targ_NewInternalNode(const char *name)
 {
-    GNode *gn = GNode_New(name);
-    Var_Append(".ALLTARGETS", name, VAR_GLOBAL);
-    Lst_Append(&allTargets, gn);
-    DEBUG1(TARG, "Adding \"%s\" to all targets.\n", gn->name);
-    if (doing_depend)
-	gn->flags |= FROM_DEPEND;
-    return gn;
+	GNode *gn = GNode_New(name);
+	Var_Append(".ALLTARGETS", name, VAR_GLOBAL);
+	Lst_Append(&allTargets, gn);
+	DEBUG1(TARG, "Adding \"%s\" to all targets.\n", gn->name);
+	if (doing_depend)
+		gn->flags |= FROM_DEPEND;
+	return gn;
 }
 
 /*
@@ -297,26 +325,30 @@ Targ_NewInternalNode(const char *name)
  */
 GNode *Targ_GetEndNode(void)
 {
-    /* Save the node locally to avoid having to search for it all the time. */
-    static GNode *endNode = NULL;
-    if (endNode == NULL) {
-	endNode = Targ_GetNode(".END");
-	endNode->type = OP_SPECIAL;
-    }
-    return endNode;
+	/*
+	 * Save the node locally to avoid having to search for it all
+	 * the time.
+	 */
+	static GNode *endNode = NULL;
+
+	if (endNode == NULL) {
+		endNode = Targ_GetNode(".END");
+		endNode->type = OP_SPECIAL;
+	}
+	return endNode;
 }
 
 /* Add the named nodes to the list, creating them as necessary. */
 void
 Targ_FindList(GNodeList *gns, StringList *names)
 {
-    StringListNode *ln;
+	StringListNode *ln;
 
-    for (ln = names->first; ln != NULL; ln = ln->next) {
-	const char *name = ln->datum;
-	GNode *gn = Targ_GetNode(name);
-	Lst_Append(gns, gn);
-    }
+	for (ln = names->first; ln != NULL; ln = ln->next) {
+		const char *name = ln->datum;
+		GNode *gn = Targ_GetNode(name);
+		Lst_Append(gns, gn);
+	}
 }
 
 /*
@@ -326,22 +358,22 @@ Targ_FindList(GNodeList *gns, StringList
 Boolean
 Targ_Ignore(const GNode *gn)
 {
-    return opts.ignoreErrors || gn->type & OP_IGNORE;
+	return opts.ignoreErrors || gn->type & OP_IGNORE;
 }
 
 /* Return true if be silent when creating gn. */
 Boolean
 Targ_Silent(const GNode *gn)
 {
-    return opts.beSilent || gn->type & OP_SILENT;
+	return opts.beSilent || gn->type & OP_SILENT;
 }
 
 /* See if the given target is precious. */
 Boolean
 Targ_Precious(const GNode *gn)
 {
-    /* XXX: Why are '::' targets precious? */
-    return allPrecious || gn->type & (OP_PRECIOUS | OP_DOUBLEDEP);
+	/* XXX: Why are '::' targets precious? */
+	return allPrecious || gn->type & (OP_PRECIOUS | OP_DOUBLEDEP);
 }
 
 /*
@@ -354,158 +386,162 @@ static GNode *mainTarg;
 void
 Targ_SetMain(GNode *gn)
 {
-    mainTarg = gn;
+	mainTarg = gn;
 }
 
 static void
 PrintNodeNames(GNodeList *gnodes)
 {
-    GNodeListNode *ln;
+	GNodeListNode *ln;
 
-    for (ln = gnodes->first; ln != NULL; ln = ln->next) {
-	GNode *gn = ln->datum;
-	debug_printf(" %s%s", gn->name, gn->cohort_num);
-    }
+	for (ln = gnodes->first; ln != NULL; ln = ln->next) {
+		GNode *gn = ln->datum;
+		debug_printf(" %s%s", gn->name, gn->cohort_num);
+	}
 }
 
 static void
 PrintNodeNamesLine(const char *label, GNodeList *gnodes)
 {
-    if (Lst_IsEmpty(gnodes))
-	return;
-    debug_printf("# %s:", label);
-    PrintNodeNames(gnodes);
-    debug_printf("\n");
+	if (Lst_IsEmpty(gnodes))
+		return;
+	debug_printf("# %s:", label);
+	PrintNodeNames(gnodes);
+	debug_printf("\n");
 }
 
 void
 Targ_PrintCmds(GNode *gn)
 {
-    StringListNode *ln;
-    for (ln = gn->commands.first; ln != NULL; ln = ln->next) {
-	const char *cmd = ln->datum;
-	debug_printf("\t%s\n", cmd);
-    }
+	StringListNode *ln;
+
+	for (ln = gn->commands.first; ln != NULL; ln = ln->next) {
+		const char *cmd = ln->datum;
+		debug_printf("\t%s\n", cmd);
+	}
 }
 
-/* Format a modification time in some reasonable way and return it.
- * The time is placed in a static area, so it is overwritten with each call. */
+/*
+ * Format a modification time in some reasonable way and return it.
+ * The time is placed in a static area, so it is overwritten with each call.
+ */
 char *
 Targ_FmtTime(time_t tm)
 {
-    struct tm *parts;
-    static char buf[128];
+	struct tm *parts;
+	static char buf[128];
 
-    /* TODO: Add special case for 0, which often means ENOENT, to make it
-     * independent from time zones. */
-    parts = localtime(&tm);
-    (void)strftime(buf, sizeof buf, "%k:%M:%S %b %d, %Y", parts);
-    return buf;
+	/* TODO: Add special case for 0, which often means ENOENT, to make it
+	 * independent from time zones. */
+	parts = localtime(&tm);
+	(void)strftime(buf, sizeof buf, "%k:%M:%S %b %d, %Y", parts);
+	return buf;
 }
 
 /* Print out a type field giving only those attributes the user can set. */
 void
 Targ_PrintType(int type)
 {
-    int    tbit;
+	int tbit;
 
-#define PRINTBIT(attr)	case CONCAT(OP_,attr): debug_printf(" ." #attr); break
+#define PRINTBIT(attr) case CONCAT(OP_,attr): debug_printf(" ." #attr); break
 #define PRINTDBIT(attr) case CONCAT(OP_,attr): if (DEBUG(TARG))debug_printf(" ." #attr); break
 
-    type &= ~OP_OPMASK;
+	type &= ~OP_OPMASK;
 
-    while (type != 0) {
-	tbit = 1 << (ffs(type) - 1);
-	type &= ~tbit;
-
-	switch(tbit) {
-	PRINTBIT(OPTIONAL);
-	PRINTBIT(USE);
-	PRINTBIT(EXEC);
-	PRINTBIT(IGNORE);
-	PRINTBIT(PRECIOUS);
-	PRINTBIT(SILENT);
-	PRINTBIT(MAKE);
-	PRINTBIT(JOIN);
-	PRINTBIT(INVISIBLE);
-	PRINTBIT(NOTMAIN);
-	PRINTDBIT(LIB);
-	    /*XXX: MEMBER is defined, so CONCAT(OP_,MEMBER) gives OP_"%" */
-	case OP_MEMBER: if (DEBUG(TARG))debug_printf(" .MEMBER"); break;
-	PRINTDBIT(ARCHV);
-	PRINTDBIT(MADE);
-	PRINTDBIT(PHONY);
+	while (type != 0) {
+		tbit = 1 << (ffs(type) - 1);
+		type &= ~tbit;
+
+		switch (tbit) {
+		PRINTBIT(OPTIONAL);
+		PRINTBIT(USE);
+		PRINTBIT(EXEC);
+		PRINTBIT(IGNORE);
+		PRINTBIT(PRECIOUS);
+		PRINTBIT(SILENT);
+		PRINTBIT(MAKE);
+		PRINTBIT(JOIN);
+		PRINTBIT(INVISIBLE);
+		PRINTBIT(NOTMAIN);
+		PRINTDBIT(LIB);
+		/*XXX: MEMBER is defined, so CONCAT(OP_,MEMBER) gives OP_"%" */
+		case OP_MEMBER: if (DEBUG(TARG))debug_printf(" .MEMBER"); break;
+		PRINTDBIT(ARCHV);
+		PRINTDBIT(MADE);
+		PRINTDBIT(PHONY);
+		}
 	}
-    }
 }
 
 static const char *
 made_name(GNodeMade made)
 {
-    switch (made) {
-    case UNMADE:     return "unmade";
-    case DEFERRED:   return "deferred";
-    case REQUESTED:  return "requested";
-    case BEINGMADE:  return "being made";
-    case MADE:       return "made";
-    case UPTODATE:   return "up-to-date";
-    case ERROR:      return "error when made";
-    case ABORTED:    return "aborted";
-    default:         return "unknown enum_made value";
-    }
+	switch (made) {
+	case UNMADE:    return "unmade";
+	case DEFERRED:  return "deferred";
+	case REQUESTED: return "requested";
+	case BEINGMADE: return "being made";
+	case MADE:      return "made";
+	case UPTODATE:  return "up-to-date";
+	case ERROR:     return "error when made";
+	case ABORTED:   return "aborted";
+	default:        return "unknown enum_made value";
+	}
 }
 
 static const char *
 GNode_OpName(const GNode *gn)
 {
-    switch (gn->type & OP_OPMASK) {
-    case OP_DEPENDS:
-	return ":";
-    case OP_FORCE:
-	return "!";
-    case OP_DOUBLEDEP:
-	return "::";
-    }
-    return "";
+	switch (gn->type & OP_OPMASK) {
+	case OP_DEPENDS:
+		return ":";
+	case OP_FORCE:
+		return "!";
+	case OP_DOUBLEDEP:
+		return "::";
+	}
+	return "";
 }
 
 /* Print the contents of a node. */
 void
 Targ_PrintNode(GNode *gn, int pass)
 {
-    debug_printf("# %s%s", gn->name, gn->cohort_num);
-    GNode_FprintDetails(opts.debug_file, ", ", gn, "\n");
-    if (gn->flags == 0)
-	return;
+	debug_printf("# %s%s", gn->name, gn->cohort_num);
+	GNode_FprintDetails(opts.debug_file, ", ", gn, "\n");
+	if (gn->flags == 0)
+		return;
+
+	if (!GNode_IsTarget(gn))
+		return;
 
-    if (GNode_IsTarget(gn)) {
 	debug_printf("#\n");
-	if (gn == mainTarg) {
-	    debug_printf("# *** MAIN TARGET ***\n");
-	}
+	if (gn == mainTarg)
+		debug_printf("# *** MAIN TARGET ***\n");
+
 	if (pass >= 2) {
-	    if (gn->unmade > 0) {
-		debug_printf("# %d unmade children\n", gn->unmade);
-	    } else {
-		debug_printf("# No unmade children\n");
-	    }
-	    if (!(gn->type & (OP_JOIN|OP_USE|OP_USEBEFORE|OP_EXEC))) {
-		if (gn->mtime != 0) {
-		    debug_printf("# last modified %s: %s\n",
-			    Targ_FmtTime(gn->mtime),
-			    made_name(gn->made));
-		} else if (gn->made != UNMADE) {
-		    debug_printf("# non-existent (maybe): %s\n",
-			    made_name(gn->made));
-		} else {
-		    debug_printf("# unmade\n");
+		if (gn->unmade > 0)
+			debug_printf("# %d unmade children\n", gn->unmade);
+		else
+			debug_printf("# No unmade children\n");
+		if (!(gn->type & (OP_JOIN | OP_USE | OP_USEBEFORE | OP_EXEC))) {
+			if (gn->mtime != 0) {
+				debug_printf("# last modified %s: %s\n",
+				    Targ_FmtTime(gn->mtime),
+				    made_name(gn->made));
+			} else if (gn->made != UNMADE) {
+				debug_printf("# non-existent (maybe): %s\n",
+				    made_name(gn->made));
+			} else
+				debug_printf("# unmade\n");
 		}
-	    }
-	    PrintNodeNamesLine("implicit parents", &gn->implicitParents);
+		PrintNodeNamesLine("implicit parents", &gn->implicitParents);
 	} else {
-	    if (gn->unmade)
-		debug_printf("# %d unmade children\n", gn->unmade);
+		if (gn->unmade)
+			debug_printf("# %d unmade children\n", gn->unmade);
 	}
+
 	PrintNodeNamesLine("parents", &gn->parents);
 	PrintNodeNamesLine("order_pred", &gn->order_pred);
 	PrintNodeNamesLine("order_succ", &gn->order_succ);
@@ -516,38 +552,38 @@ Targ_PrintNode(GNode *gn, int pass)
 	debug_printf("\n");
 	Targ_PrintCmds(gn);
 	debug_printf("\n\n");
-	if (gn->type & OP_DOUBLEDEP) {
-	    Targ_PrintNodes(&gn->cohorts, pass);
-	}
-    }
+	if (gn->type & OP_DOUBLEDEP)
+		Targ_PrintNodes(&gn->cohorts, pass);
 }
 
 void
 Targ_PrintNodes(GNodeList *gnodes, int pass)
 {
-    GNodeListNode *ln;
-    for (ln = gnodes->first; ln != NULL; ln = ln->next)
-	Targ_PrintNode(ln->datum, pass);
+	GNodeListNode *ln;
+
+	for (ln = gnodes->first; ln != NULL; ln = ln->next)
+		Targ_PrintNode(ln->datum, pass);
 }
 
 /* Print only those targets that are just a source. */
 static void
 PrintOnlySources(void)
 {
-    GNodeListNode *ln;
-
-    for (ln = allTargets.first; ln != NULL; ln = ln->next) {
-	GNode *gn = ln->datum;
-	if (GNode_IsTarget(gn))
-	    continue;
+	GNodeListNode *ln;
 
-	debug_printf("#\t%s [%s]", gn->name, GNode_Path(gn));
-	Targ_PrintType(gn->type);
-	debug_printf("\n");
-    }
+	for (ln = allTargets.first; ln != NULL; ln = ln->next) {
+		GNode *gn = ln->datum;
+		if (GNode_IsTarget(gn))
+			continue;
+
+		debug_printf("#\t%s [%s]", gn->name, GNode_Path(gn));
+		Targ_PrintType(gn->type);
+		debug_printf("\n");
+	}
 }
 
-/* Input:
+/*
+ * Input:
  *	pass		1 => before processing
  *			2 => after processing
  *			3 => after processing, an error occurred
@@ -555,49 +591,51 @@ PrintOnlySources(void)
 void
 Targ_PrintGraph(int pass)
 {
-    debug_printf("#*** Input graph:\n");
-    Targ_PrintNodes(&allTargets, pass);
-    debug_printf("\n");
-    debug_printf("\n");
+	debug_printf("#*** Input graph:\n");
+	Targ_PrintNodes(&allTargets, pass);
+	debug_printf("\n");
+	debug_printf("\n");
 
-    debug_printf("#\n");
-    debug_printf("#   Files that are only sources:\n");
-    PrintOnlySources();
+	debug_printf("#\n");
+	debug_printf("#   Files that are only sources:\n");
+	PrintOnlySources();
 
-    debug_printf("#*** Global Variables:\n");
-    Var_Dump(VAR_GLOBAL);
+	debug_printf("#*** Global Variables:\n");
+	Var_Dump(VAR_GLOBAL);
 
-    debug_printf("#*** Command-line Variables:\n");
-    Var_Dump(VAR_CMDLINE);
+	debug_printf("#*** Command-line Variables:\n");
+	Var_Dump(VAR_CMDLINE);
 
-    debug_printf("\n");
-    Dir_PrintDirectories();
-    debug_printf("\n");
+	debug_printf("\n");
+	Dir_PrintDirectories();
+	debug_printf("\n");
 
-    Suff_PrintAll();
+	Suff_PrintAll();
 }
 
-/* Propagate some type information to cohort nodes (those from the '::'
+/*
+ * Propagate some type information to cohort nodes (those from the '::'
  * dependency operator).
  *
  * Should be called after the makefiles are parsed but before any action is
- * taken. */
+ * taken.
+ */
 void
 Targ_Propagate(void)
 {
-    GNodeListNode *ln, *cln;
+	GNodeListNode *ln, *cln;
 
-    for (ln = allTargets.first; ln != NULL; ln = ln->next) {
-	GNode *gn = ln->datum;
-	GNodeType type = gn->type;
+	for (ln = allTargets.first; ln != NULL; ln = ln->next) {
+		GNode *gn = ln->datum;
+		GNodeType type = gn->type;
 
-	if (!(type & OP_DOUBLEDEP))
-	    continue;
+		if (!(type & OP_DOUBLEDEP))
+			continue;
 
-	for (cln = gn->cohorts.first; cln != NULL; cln = cln->next) {
-	    GNode *cohort = cln->datum;
+		for (cln = gn->cohorts.first; cln != NULL; cln = cln->next) {
+			GNode *cohort = cln->datum;
 
-	    cohort->type |= type & ~OP_OPMASK;
+			cohort->type |= type & ~OP_OPMASK;
+		}
 	}
-    }
 }

Reply via email to