Module Name: othersrc Committed By: dholland Date: Mon Mar 4 08:47:09 UTC 2013
Modified Files: othersrc/usr.bin/dholland-make2: array.c array.h compat.c graph.h main.c make.c nonints.h parse.c suff.c targ.c Log Message: Use more arrays and fewer lists. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 othersrc/usr.bin/dholland-make2/array.c \ othersrc/usr.bin/dholland-make2/graph.h \ othersrc/usr.bin/dholland-make2/parse.c cvs rdiff -u -r1.4 -r1.5 othersrc/usr.bin/dholland-make2/array.h cvs rdiff -u -r1.3 -r1.4 othersrc/usr.bin/dholland-make2/compat.c \ othersrc/usr.bin/dholland-make2/main.c \ othersrc/usr.bin/dholland-make2/make.c \ othersrc/usr.bin/dholland-make2/suff.c \ othersrc/usr.bin/dholland-make2/targ.c cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/usr.bin/dholland-make2/nonints.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: othersrc/usr.bin/dholland-make2/array.c diff -u othersrc/usr.bin/dholland-make2/array.c:1.2 othersrc/usr.bin/dholland-make2/array.c:1.3 --- othersrc/usr.bin/dholland-make2/array.c:1.2 Mon Mar 4 07:27:54 2013 +++ othersrc/usr.bin/dholland-make2/array.c Mon Mar 4 08:47:08 2013 @@ -31,6 +31,9 @@ #include <string.h> #include "portable.h" +/* XXX this should go away */ +#include "lst.h" + #define ARRAYINLINE #include "array.h" @@ -159,3 +162,36 @@ array_removeval(struct array *a, void *v array_remove(a, ix); } } + +//////////////////////////////////////////////////////////// +// tools for interfacing with lst.lib + +static int +Lst_AddToArray(void *p, void *arrv) +{ + struct array *arr = arrv; + + array_add(arr, p, NULL); + return 0; +} + +void +Lst_IntoArray(Lst list, struct array *arr) +{ + Lst_ForEach(list, Lst_AddToArray, arr); +} + +Lst +LstFromArray(struct array *arr) +{ + Lst ret; + unsigned i; + void *p; + + ret = Lst_Init(FALSE); + for (i=0; i<array_num(arr); i++) { + p = array_get(arr, i); + Lst_AtEnd(ret, p); + } + return ret; +} Index: othersrc/usr.bin/dholland-make2/graph.h diff -u othersrc/usr.bin/dholland-make2/graph.h:1.2 othersrc/usr.bin/dholland-make2/graph.h:1.3 --- othersrc/usr.bin/dholland-make2/graph.h:1.2 Mon Mar 4 07:28:45 2013 +++ othersrc/usr.bin/dholland-make2/graph.h Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: graph.h,v 1.2 2013/03/04 07:28:45 dholland Exp $ */ +/* $NetBSD: graph.h,v 1.3 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -158,7 +158,7 @@ struct GNode { GList iParents; /* Links to parents for which this is an * implied source, if any */ - Lst cohorts; /* Other nodes for the :: operator */ + GList cohorts; /* Other nodes for the :: operator */ Lst parents; /* Nodes that depend on this one */ Lst children; /* Nodes on which this one depends */ Lst order_pred; /* .ORDER nodes we need made */ Index: othersrc/usr.bin/dholland-make2/parse.c diff -u othersrc/usr.bin/dholland-make2/parse.c:1.2 othersrc/usr.bin/dholland-make2/parse.c:1.3 --- othersrc/usr.bin/dholland-make2/parse.c:1.2 Mon Feb 25 03:39:28 2013 +++ othersrc/usr.bin/dholland-make2/parse.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.2 2013/02/25 03:39:28 dholland Exp $ */ +/* $NetBSD: parse.c,v 1.3 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -138,7 +138,7 @@ #include "buf.h" #include "pathnames.h" -MAKE_RCSID("$NetBSD: parse.c,v 1.2 2013/02/25 03:39:28 dholland Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.3 2013/03/04 08:47:08 dholland Exp $"); //////////////////////////////////////////////////////////// // types and constants @@ -829,8 +829,9 @@ ParseLinkSrc(void *pgnp, void *cgnp) GNode *pgn = (GNode *)pgnp; GNode *cgn = (GNode *)cgnp; - if ((pgn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (pgn->cohorts)) - pgn = (GNode *)Lst_Datum(Lst_Last(pgn->cohorts)); + if ((pgn->type & OP_DOUBLEDEP) && glist_num(&pgn->cohorts) > 0) { + pgn = glist_get(&pgn->cohorts, glist_num(&pgn->cohorts) - 1); + } (void)Lst_AtEnd(pgn->children, cgn); if (specType == Not) (void)Lst_AtEnd(cgn->parents, pgn); @@ -906,7 +907,7 @@ ParseDoOp(void *gnp, void *opp) * traversals will no longer see this node anyway. -mycroft) */ cohort->type = op | OP_INVISIBLE; - (void)Lst_AtEnd(gn->cohorts, cohort); + glist_add(&gn->cohorts, cohort, NULL); cohort->centurion = gn; gn->unmade_cohorts += 1; snprintf(cohort->cohort_num, sizeof cohort->cohort_num, "#%d", @@ -1941,8 +1942,9 @@ ParseAddCmd(void *gnp, void *cmd) GNode *gn = (GNode *)gnp; /* Add to last (ie current) cohort for :: targets */ - if ((gn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (gn->cohorts)) - gn = (GNode *)Lst_Datum(Lst_Last(gn->cohorts)); + if ((gn->type & OP_DOUBLEDEP) && glist_num(&gn->cohorts) > 0) { + gn = glist_get(&gn->cohorts, glist_num(&gn->cohorts) - 1); + } /* if target already supplied, ignore commands */ if (!(gn->type & OP_HAS_COMMANDS)) { @@ -3055,35 +3057,34 @@ Parse_End(void) /*- *----------------------------------------------------------------------- * Parse_MainName -- - * Return a Lst of the main target to create for main()'s sake. If - * no such target exists, we Punt with an obnoxious error message. + * Fill a GList with the the main target to create for main()'s + * sake. If no such target exists, we Punt with an obnoxious + * error message. * * Results: - * A Lst of the single node to create. + * The argument GList is filled in. * * Side Effects: * None. * *----------------------------------------------------------------------- */ -Lst -Parse_MainName(void) +void +Parse_MainName(GList *mainList) { - Lst mainList; /* result list */ - - mainList = Lst_Init(FALSE); + unsigned i; if (mainNode == NULL) { Punt("no target to make."); /*NOTREACHED*/ - } else if (mainNode->type & OP_DOUBLEDEP) { - (void)Lst_AtEnd(mainList, mainNode); - Lst_Concat(mainList, mainNode->cohorts, LST_CONCNEW); } - else - (void)Lst_AtEnd(mainList, mainNode); + glist_add(mainList, mainNode, NULL); + if (mainNode->type & OP_DOUBLEDEP) { + for (i=0; i<glist_num(&mainNode->cohorts); i++) { + glist_add(mainList, glist_get(&mainNode->cohorts, i), NULL); + } + } Var_Append(".TARGETS", mainNode->name, VAR_GLOBAL); - return (mainList); } /*- Index: othersrc/usr.bin/dholland-make2/array.h diff -u othersrc/usr.bin/dholland-make2/array.h:1.4 othersrc/usr.bin/dholland-make2/array.h:1.5 --- othersrc/usr.bin/dholland-make2/array.h:1.4 Mon Mar 4 07:27:54 2013 +++ othersrc/usr.bin/dholland-make2/array.h Mon Mar 4 08:47:08 2013 @@ -290,4 +290,12 @@ array_add(struct array *a, void *val, un DECLARRAY_BYTYPE(stringarray, char, ARRAYINLINE); DEFARRAY_BYTYPE(stringarray, char, ARRAYINLINE); +//////////////////////////////////////////////////////////// +// tools for interacting with lst.lib +// (these are not typesafe and should go away) + +void Lst_IntoArray(Lst list, struct array *arr); +Lst LstFromArray(struct array *arr); + + #endif /* ARRAY_H */ Index: othersrc/usr.bin/dholland-make2/compat.c diff -u othersrc/usr.bin/dholland-make2/compat.c:1.3 othersrc/usr.bin/dholland-make2/compat.c:1.4 --- othersrc/usr.bin/dholland-make2/compat.c:1.3 Mon Mar 4 07:28:45 2013 +++ othersrc/usr.bin/dholland-make2/compat.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.3 2013/03/04 07:28:45 dholland Exp $ */ +/* $NetBSD: compat.c,v 1.4 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -101,7 +101,7 @@ #include "job.h" #include "pathnames.h" -MAKE_RCSID("$NetBSD: compat.c,v 1.3 2013/03/04 07:28:45 dholland Exp $"); +MAKE_RCSID("$NetBSD: compat.c,v 1.4 2013/03/04 08:47:08 dholland Exp $"); /* * The following array is used to make a fast determination of which @@ -652,7 +652,13 @@ Compat_Make(void *gnp, void *pgnp) } cohorts: - Lst_ForEach(gn->cohorts, Compat_Make, pgnp); + { + unsigned i; + + for (i=0; i<glist_num(&gn->cohorts); i++) { + Compat_Make(glist_get(&gn->cohorts, i), pgnp); + } + } return (0); } Index: othersrc/usr.bin/dholland-make2/main.c diff -u othersrc/usr.bin/dholland-make2/main.c:1.3 othersrc/usr.bin/dholland-make2/main.c:1.4 --- othersrc/usr.bin/dholland-make2/main.c:1.3 Mon Feb 25 03:39:28 2013 +++ othersrc/usr.bin/dholland-make2/main.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.3 2013/02/25 03:39:28 dholland Exp $ */ +/* $NetBSD: main.c,v 1.4 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -128,7 +128,7 @@ MAKE_COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\ The Regents of the University of California. All rights reserved."); -MAKE_RCSID("$NetBSD: main.c,v 1.3 2013/02/25 03:39:28 dholland Exp $"); +MAKE_RCSID("$NetBSD: main.c,v 1.4 2013/03/04 08:47:08 dholland Exp $"); #ifndef DEFMAXLOCAL @@ -1237,10 +1237,17 @@ main(int argc, char **argv) * we consult the parsing module to find the main target(s) * to create. */ - if (Lst_IsEmpty(create)) - targs = Parse_MainName(); - else + if (Lst_IsEmpty(create)) { + GList tmp; + + glist_init(&tmp); + Parse_MainName(&tmp); + targs = LstFromArray(&tmp.arr); /* XXX not typesafe */ + glist_setsize(&tmp, 0); + glist_cleanup(&tmp); + } else { targs = Targ_FindList(create, TARG_CREATE); + } if (!compatMake) { /* Index: othersrc/usr.bin/dholland-make2/make.c diff -u othersrc/usr.bin/dholland-make2/make.c:1.3 othersrc/usr.bin/dholland-make2/make.c:1.4 --- othersrc/usr.bin/dholland-make2/make.c:1.3 Mon Mar 4 07:28:45 2013 +++ othersrc/usr.bin/dholland-make2/make.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: make.c,v 1.3 2013/03/04 07:28:45 dholland Exp $ */ +/* $NetBSD: make.c,v 1.4 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -111,7 +111,7 @@ #include "dir.h" #include "job.h" -MAKE_RCSID("$NetBSD: make.c,v 1.3 2013/03/04 07:28:45 dholland Exp $"); +MAKE_RCSID("$NetBSD: make.c,v 1.4 2013/03/04 08:47:08 dholland Exp $"); static unsigned int checked = 1;/* Sequence # to detect recursion */ static Lst toBeMade; /* The current fringe of the graph. These @@ -120,7 +120,7 @@ static Lst toBeMade; /* The current * Make_Update and subtracted from by * MakeStartJobs */ -static int MakeAddChild(void *, void *); +static int MakeAddChild2(void *, void *); static int MakeFindChild(void *, void *); static int MakeUnmark(void *, void *); static int MakeAddAllSrc(void *, void *); @@ -349,6 +349,8 @@ Make_OODate(GNode *gn) * MakeAddChild -- * Function used by Make_Run to add a child to the list l. * It will only add the child if its make field is FALSE. + * MakeAddChild2 -- + * Same but lp is a GList, not a Lst. * * Input: * gnp the node to add @@ -361,6 +363,7 @@ Make_OODate(GNode *gn) * The given list is extended *----------------------------------------------------------------------- */ +#if 0 static int MakeAddChild(void *gnp, void *lp) { @@ -375,6 +378,23 @@ MakeAddChild(void *gnp, void *lp) } return (0); } +#endif + +/* array variant */ +static int +MakeAddChild2(void *gnp, void *lp) +{ + GNode *gn = (GNode *)gnp; + GList *l = lp; + + if ((gn->flags & REMAKE) == 0 && !(gn->type & (OP_USE|OP_USEBEFORE))) { + if (DEBUG(MAKE)) + fprintf(debug_file, "MakeAddChild: need to examine %s%s\n", + gn->name, gn->cohort_num); + glist_add(l, gn, NULL); + } + return (0); +} /*- *----------------------------------------------------------------------- @@ -1039,8 +1059,15 @@ MakeBuildChild(void *v_cn, void *toBeMad else Lst_InsertBefore(toBeMade, toBeMade_next, cn); - if (cn->unmade_cohorts != 0) - Lst_ForEach(cn->cohorts, MakeBuildChild, toBeMade_next); + if (cn->unmade_cohorts != 0) { + unsigned i; + + for (i=0; i<glist_num(&cn->cohorts); i++) { + if (MakeBuildChild(glist_get(&cn->cohorts, i), toBeMade_next)) { + break; + } + } + } /* * If this node is a .WAIT node with unmade chlidren @@ -1279,9 +1306,10 @@ void Make_ExpandUse(Lst targs) { GNode *gn; /* a temporary pointer */ - Lst examine; /* List of targets to examine */ + GList examine; /* List of targets to examine */ - examine = Lst_Duplicate(targs, NULL); + glist_init(&examine); + Lst_IntoArray(targs, &examine.arr); /* XXX not typesafe */ /* * Make an initial downward pass over the graph, marking nodes to be made @@ -1291,8 +1319,9 @@ Make_ExpandUse(Lst targs) * be looked at in a minute, otherwise we add its children to our queue * and go on about our business. */ - while (!Lst_IsEmpty (examine)) { - gn = (GNode *)Lst_DeQueue(examine); + while (glist_num(&examine) > 0) { + gn = glist_get(&examine, 0); + glist_remove(&examine, 0); if (gn->flags & REMAKE) /* We've looked at this one already */ @@ -1302,12 +1331,22 @@ Make_ExpandUse(Lst targs) fprintf(debug_file, "Make_ExpandUse: examine %s%s\n", gn->name, gn->cohort_num); - if ((gn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (gn->cohorts)) { - /* Append all the 'cohorts' to the list of things to examine */ - Lst new; - new = Lst_Duplicate(gn->cohorts, NULL); - Lst_Concat(new, examine, LST_CONCLINK); - examine = new; + if ((gn->type & OP_DOUBLEDEP) && glist_num(&gn->cohorts) > 0) { + /* + * Prepend all the 'cohorts' to the list of things to examine. + * The old code here was equivalent to: + * examine = concat(gn->cohorts, examine) + * but described this for some reason as "appending". + * + * XXX: this is a silly way of doing things when examine is + * an array. + */ + unsigned i; + + for (i=glist_num(&gn->cohorts); i-- > 0; ) { + glist_insert(&examine, 0); + glist_set(&examine, 0, glist_get(&gn->cohorts, i)); + } } /* @@ -1346,10 +1385,11 @@ Make_ExpandUse(Lst targs) } if (gn->unmade != 0) - Lst_ForEach(gn->children, MakeAddChild, examine); + Lst_ForEach(gn->children, MakeAddChild2, &examine); } - Lst_Destroy(examine, NULL); + glist_setsize(&examine, 0); + glist_cleanup(&examine); } /*- @@ -1404,7 +1444,7 @@ Make_ProcessWait(Lst targs) GNode *pgn; /* 'parent' node we are examining */ GNode *cgn; /* Each child in turn */ LstNode owln; /* Previous .WAIT node */ - Lst examine; /* List of targets to examine */ + GList examine; /* List of targets to examine */ LstNode ln; /* @@ -1424,11 +1464,12 @@ Make_ProcessWait(Lst targs) /* Start building with the 'dummy' .MAIN' node */ MakeBuildChild(pgn, NULL); - examine = Lst_Init(FALSE); - Lst_AtEnd(examine, pgn); + glist_init(&examine); + glist_add(&examine, pgn, NULL); - while (!Lst_IsEmpty (examine)) { - pgn = Lst_DeQueue(examine); + while (glist_num(&examine) > 0) { + pgn = glist_get(&examine, 0); + glist_remove(&examine, 0); /* We only want to process each child-list once */ if (pgn->flags & DONE_WAIT) @@ -1437,12 +1478,22 @@ Make_ProcessWait(Lst targs) if (DEBUG(MAKE)) fprintf(debug_file, "Make_ProcessWait: examine %s\n", pgn->name); - if ((pgn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (pgn->cohorts)) { - /* Append all the 'cohorts' to the list of things to examine */ - Lst new; - new = Lst_Duplicate(pgn->cohorts, NULL); - Lst_Concat(new, examine, LST_CONCLINK); - examine = new; + if ((pgn->type & OP_DOUBLEDEP) && glist_num(&pgn->cohorts) > 0) { + /* + * Prepend all the 'cohorts' to the list of things to examine. + * The old code here was equivalent to: + * examine = concat(gn->cohorts, examine) + * but described this for some reason as "appending". + * + * XXX: this is a silly way of doing things when examine is + * an array. + */ + unsigned i; + + for (i=glist_num(&pgn->cohorts); i-- > 0; ) { + glist_insert(&examine, 0); + glist_set(&examine, 0, glist_get(&pgn->cohorts, i)); + } } owln = Lst_First(pgn->children); @@ -1454,13 +1505,14 @@ Make_ProcessWait(Lst targs) Lst_ForEachFrom(pgn->children, owln, add_wait_dep, cgn); owln = ln; } else { - Lst_AtEnd(examine, cgn); + glist_add(&examine, cgn, NULL); } } Lst_Close(pgn->children); } - Lst_Destroy(examine, NULL); + glist_setsize(&examine, 0); + glist_cleanup(&examine); } /*- Index: othersrc/usr.bin/dholland-make2/suff.c diff -u othersrc/usr.bin/dholland-make2/suff.c:1.3 othersrc/usr.bin/dholland-make2/suff.c:1.4 --- othersrc/usr.bin/dholland-make2/suff.c:1.3 Mon Mar 4 07:28:45 2013 +++ othersrc/usr.bin/dholland-make2/suff.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.3 2013/03/04 07:28:45 dholland Exp $ */ +/* $NetBSD: suff.c,v 1.4 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -131,7 +131,7 @@ #include "hash.h" #include "dir.h" -MAKE_RCSID("$NetBSD: suff.c,v 1.3 2013/03/04 07:28:45 dholland Exp $"); +MAKE_RCSID("$NetBSD: suff.c,v 1.4 2013/03/04 08:47:08 dholland Exp $"); static Lst sufflist; /* Lst of suffixes */ #ifdef CLEANUP @@ -746,8 +746,9 @@ Suff_EndTransform(void *gnp, void *dummy { GNode *gn = (GNode *)gnp; - if ((gn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (gn->cohorts)) - gn = (GNode *)Lst_Datum(Lst_Last(gn->cohorts)); + if ((gn->type & OP_DOUBLEDEP) && glist_num(&gn->cohorts) > 0) { + gn = glist_get(&gn->cohorts, glist_num(&gn->cohorts) - 1); + } if ((gn->type & OP_TRANSFORM) && Lst_IsEmpty(gn->commands) && Lst_IsEmpty(gn->children)) { Index: othersrc/usr.bin/dholland-make2/targ.c diff -u othersrc/usr.bin/dholland-make2/targ.c:1.3 othersrc/usr.bin/dholland-make2/targ.c:1.4 --- othersrc/usr.bin/dholland-make2/targ.c:1.3 Mon Mar 4 07:28:45 2013 +++ othersrc/usr.bin/dholland-make2/targ.c Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: targ.c,v 1.3 2013/03/04 07:28:45 dholland Exp $ */ +/* $NetBSD: targ.c,v 1.4 2013/03/04 08:47:08 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -127,7 +127,7 @@ #include "hash.h" #include "dir.h" -MAKE_RCSID("$NetBSD: targ.c,v 1.3 2013/03/04 07:28:45 dholland Exp $"); +MAKE_RCSID("$NetBSD: targ.c,v 1.4 2013/03/04 08:47:08 dholland Exp $"); static Lst allTargets; /* the list of all targets found so far */ #ifdef CLEANUP @@ -245,7 +245,7 @@ Targ_NewGN(const char *name) gn->mtime = 0; gn->cmgn = NULL; glist_init(&gn->iParents); - gn->cohorts = Lst_Init(FALSE); + glist_init(&gn->cohorts); gn->parents = Lst_Init(FALSE); gn->children = Lst_Init(FALSE); gn->order_pred = Lst_Init(FALSE); @@ -293,7 +293,8 @@ TargFreeGN(void *gnp) glist_setsize(&gn->iParents, 0); glist_cleanup(&gn->iParents); - Lst_Destroy(gn->cohorts, NULL); + glist_setsize(&gn->cohorts, 0); + glist_cleanup(&gn->cohorts); Lst_Destroy(gn->parents, NULL); Lst_Destroy(gn->children, NULL); Lst_Destroy(gn->order_succ, NULL); @@ -695,7 +696,11 @@ Targ_PrintNode(void *gnp, void *passp) Lst_ForEach(gn->commands, Targ_PrintCmd, NULL); fprintf(debug_file, "\n\n"); if (gn->type & OP_DOUBLEDEP) { - Lst_ForEach(gn->cohorts, Targ_PrintNode, &pass); + unsigned i; + + for (i=0; i<glist_num(&gn->cohorts); i++) { + Targ_PrintNode(glist_get(&gn->cohorts, i), &pass); + } } } return (0); @@ -791,9 +796,13 @@ static int TargPropagateNode(void *gnp, void *junk MAKE_ATTR_UNUSED) { GNode *gn = (GNode *)gnp; + unsigned i; - if (gn->type & OP_DOUBLEDEP) - Lst_ForEach(gn->cohorts, TargPropagateCohort, gnp); + if (gn->type & OP_DOUBLEDEP) { + for (i=0; i<glist_num(&gn->cohorts); i++) { + TargPropagateCohort(glist_get(&gn->cohorts, i), gnp); + } + } return (0); } Index: othersrc/usr.bin/dholland-make2/nonints.h diff -u othersrc/usr.bin/dholland-make2/nonints.h:1.1.1.1 othersrc/usr.bin/dholland-make2/nonints.h:1.2 --- othersrc/usr.bin/dholland-make2/nonints.h:1.1.1.1 Mon Feb 25 01:33:04 2013 +++ othersrc/usr.bin/dholland-make2/nonints.h Mon Mar 4 08:47:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: nonints.h,v 1.1.1.1 2013/02/25 01:33:04 dholland Exp $ */ +/* $NetBSD: nonints.h,v 1.2 2013/03/04 08:47:08 dholland Exp $ */ /*- * Copyright (c) 1988, 1989, 1990, 1993 @@ -130,7 +130,7 @@ void Parse_File(const char *, int); void Parse_Init(void); void Parse_End(void); void Parse_SetInput(const char *, int, int, char *(*)(void *, size_t *), void *); -Lst Parse_MainName(void); +void Parse_MainName(GList *); /* str.c */ char *str_concat(const char *, const char *, int);