summaryrefslogtreecommitdiffstats
path: root/usr.bin/make
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2004-11-30 10:35:04 +0000
committerharti <harti@FreeBSD.org>2004-11-30 10:35:04 +0000
commit6660eab42ecbf5f10f97517f3a46dfa31524d47e (patch)
tree009d67340f3e579b03809d269f83135d9d851813 /usr.bin/make
parent4671aabad620459d9378871b8537f7c8d53e4a18 (diff)
downloadFreeBSD-src-6660eab42ecbf5f10f97517f3a46dfa31524d47e.zip
FreeBSD-src-6660eab42ecbf5f10f97517f3a46dfa31524d47e.tar.gz
Change a couple of the primitve list functions to be macros. This changes
the semantic of Lst_Datum which formerly returned NULL when the argument node was NULL. There was only one place in the source that relied on this so change that place.
Diffstat (limited to 'usr.bin/make')
-rw-r--r--usr.bin/make/Makefile8
-rw-r--r--usr.bin/make/dir.c6
-rw-r--r--usr.bin/make/lst.h25
-rw-r--r--usr.bin/make/lst.lib/lstAtEnd.c76
-rw-r--r--usr.bin/make/lst.lib/lstAtFront.c73
-rw-r--r--usr.bin/make/lst.lib/lstDatum.c74
-rw-r--r--usr.bin/make/lst.lib/lstEnQueue.c75
-rw-r--r--usr.bin/make/lst.lib/lstFind.c71
-rw-r--r--usr.bin/make/lst.lib/lstFirst.c74
-rw-r--r--usr.bin/make/lst.lib/lstForEach.c72
-rw-r--r--usr.bin/make/lst.lib/lstLast.c74
-rw-r--r--usr.bin/make/lst.lib/lstReplace.c75
-rw-r--r--usr.bin/make/lst.lib/lstSucc.c76
13 files changed, 23 insertions, 756 deletions
diff --git a/usr.bin/make/Makefile b/usr.bin/make/Makefile
index 63a028f..e8ee5b2 100644
--- a/usr.bin/make/Makefile
+++ b/usr.bin/make/Makefile
@@ -6,11 +6,9 @@ PROG= make
CFLAGS+=-I${.CURDIR}
SRCS= arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c main.c \
make.c parse.c str.c suff.c targ.c util.c var.c var_modify.c
-SRCS+= lstAppend.c lstAtEnd.c lstAtFront.c lstClose.c lstConcat.c \
- lstDatum.c lstDeQueue.c lstDestroy.c lstDupl.c lstEnQueue.c \
- lstFind.c lstFindFrom.c lstFirst.c lstForEach.c lstForEachFrom.c \
- lstInit.c lstInsert.c lstIsAtEnd.c lstLast.c \
- lstMember.c lstNext.c lstOpen.c lstRemove.c lstReplace.c lstSucc.c
+SRCS+= lstAppend.c lstClose.c lstConcat.c lstDeQueue.c lstDestroy.c \
+ lstDupl.c lstFindFrom.c lstForEachFrom.c lstInit.c lstInsert.c \
+ lstIsAtEnd.c lstMember.c lstNext.c lstOpen.c lstRemove.c
.PATH: ${.CURDIR}/lst.lib
WARNS?= 3
diff --git a/usr.bin/make/dir.c b/usr.bin/make/dir.c
index 137a21e..4f520e6 100644
--- a/usr.bin/make/dir.c
+++ b/usr.bin/make/dir.c
@@ -231,10 +231,12 @@ Dir_Init (void)
void
Dir_InitDot (void)
{
+ LstNode ln;
+
Dir_AddDir (openDirectories, ".");
- dot = (Path *)Lst_Datum(Lst_Last(openDirectories));
- if (dot == (Path *) NULL)
+ if ((ln = Lst_Last(openDirectories)) == NULL)
err(1, "cannot open current directory");
+ dot = Lst_Datum(ln);
/*
* We always need to have dot around, so we increment its reference count
diff --git a/usr.bin/make/lst.h b/usr.bin/make/lst.h
index 1accf25..ce2341a 100644
--- a/usr.bin/make/lst.h
+++ b/usr.bin/make/lst.h
@@ -127,13 +127,14 @@ ReturnStatus Lst_Insert(Lst, LstNode, void *);
/* Insert an element after another */
ReturnStatus Lst_Append(Lst, LstNode, void *);
/* Place an element at the front of a lst. */
-ReturnStatus Lst_AtFront(Lst, void *);
+#define Lst_AtFront(LST, D) (Lst_Insert((LST), Lst_First(LST), (D)))
/* Place an element at the end of a lst. */
-ReturnStatus Lst_AtEnd(Lst, void *);
+#define Lst_AtEnd(LST, D) (Lst_Append((LST), Lst_Last(LST), (D)))
/* Remove an element */
ReturnStatus Lst_Remove(Lst, LstNode);
/* Replace a node with a new value */
-ReturnStatus Lst_Replace(LstNode, void *);
+#define Lst_Replace(NODE, D) (((NODE) == NULL) ? FAILURE : \
+ (((NODE)->datum = (D)), SUCCESS))
/* Concatenate two lists */
ReturnStatus Lst_Concat(Lst, Lst, int);
@@ -141,19 +142,21 @@ ReturnStatus Lst_Concat(Lst, Lst, int);
* Node-specific functions
*/
/* Return first element in list */
-LstNode Lst_First(Lst);
+#define Lst_First(LST) ((Lst_Valid(LST) && !Lst_IsEmpty(LST)) \
+ ? (LST)->firstPtr : NULL)
/* Return last element in list */
-LstNode Lst_Last(Lst);
+#define Lst_Last(LST) ((Lst_Valid(LST) && !Lst_IsEmpty(LST)) \
+ ? (LST)->lastPtr : NULL)
/* Return successor to given element */
-LstNode Lst_Succ(LstNode);
+#define Lst_Succ(NODE) (((NODE) == NULL) ? NULL : (NODE)->nextPtr)
/* Get datum from LstNode */
-void * Lst_Datum(LstNode);
+#define Lst_Datum(NODE) ((NODE)->datum)
/*
* Functions for entire lists
*/
/* Find an element in a list */
-LstNode Lst_Find(Lst, void *, CompareProc *);
+#define Lst_Find(LST, D, FN) (Lst_FindFrom((LST), Lst_First(LST), (D), (FN)))
/* Find an element starting from somewhere */
LstNode Lst_FindFrom(Lst, LstNode, void *, CompareProc *);
/*
@@ -163,6 +166,8 @@ LstNode Lst_FindFrom(Lst, LstNode, void *, CompareProc *);
LstNode Lst_Member(Lst, void *);
/* Apply a function to all elements of a lst */
void Lst_ForEach(Lst, DoProc *, void *);
+#define Lst_ForEach(LST, FN, D) (Lst_ForEachFrom((LST), Lst_First(LST), \
+ (FN), (D)))
/*
* Apply a function to all elements of a lst starting from a certain point.
* If the list is circular, the application will wrap around to the
@@ -187,7 +192,9 @@ void Lst_Close(Lst);
* for using the list as a queue
*/
/* Place an element at tail of queue */
-ReturnStatus Lst_EnQueue(Lst, void *);
+#define Lst_EnQueue(LST, D) (Lst_Valid(LST) \
+ ? Lst_Append((LST), Lst_Last(LST), (D)) \
+ : FAILURE)
/* Remove an element from head of queue */
void * Lst_DeQueue(Lst);
diff --git a/usr.bin/make/lst.lib/lstAtEnd.c b/usr.bin/make/lst.lib/lstAtEnd.c
deleted file mode 100644
index 02d44d3..0000000
--- a/usr.bin/make/lst.lib/lstAtEnd.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstAtEnd.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstAtEnd.c --
- * Add a node at the end of the list
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_AtEnd --
- * Add a node to the end of the given list
- *
- * Results:
- * SUCCESS if life is good.
- *
- * Arguments:
- * l List to which to add the datum
- * d Datum to add
- *
- * Side Effects:
- * A new ListNode is created and added to the list.
- *
- *-----------------------------------------------------------------------
- */
-ReturnStatus
-Lst_AtEnd(Lst l, void *d)
-{
- LstNode end;
-
- end = Lst_Last (l);
- return (Lst_Append (l, end, d));
-}
diff --git a/usr.bin/make/lst.lib/lstAtFront.c b/usr.bin/make/lst.lib/lstAtFront.c
deleted file mode 100644
index d24b8ce..0000000
--- a/usr.bin/make/lst.lib/lstAtFront.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstAtFront.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstAtFront.c --
- * Add a node at the front of the list
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_AtFront --
- * Place a piece of data at the front of a list
- *
- * Results:
- * SUCCESS or FAILURE
- *
- * Side Effects:
- * A new ListNode is created and stuck at the front of the list.
- * hence, firstPtr (and possible lastPtr) in the list are altered.
- *
- *-----------------------------------------------------------------------
- */
-ReturnStatus
-Lst_AtFront(Lst l, void *d)
-{
- LstNode front;
-
- front = Lst_First (l);
- return (Lst_Insert (l, front, d));
-}
diff --git a/usr.bin/make/lst.lib/lstDatum.c b/usr.bin/make/lst.lib/lstDatum.c
deleted file mode 100644
index 5a8f874..0000000
--- a/usr.bin/make/lst.lib/lstDatum.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstDatum.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstDatum.c --
- * Return the datum associated with a list node.
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_Datum --
- * Return the datum stored in the given node.
- *
- * Results:
- * The datum or (ick!) NULL if the node is invalid.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-void *
-Lst_Datum(LstNode ln)
-{
-
- if (ln != NULL) {
- return (ln->datum);
- } else {
- return (NULL);
- }
-}
diff --git a/usr.bin/make/lst.lib/lstEnQueue.c b/usr.bin/make/lst.lib/lstEnQueue.c
deleted file mode 100644
index bfd00c23..0000000
--- a/usr.bin/make/lst.lib/lstEnQueue.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstEnQueue.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstEnQueue.c--
- * Treat the list as a queue and place a datum at its end
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_EnQueue --
- * Add the datum to the tail of the given list.
- *
- * Results:
- * SUCCESS or FAILURE as returned by Lst_Append.
- *
- * Side Effects:
- * the lastPtr field is altered all the time and the firstPtr field
- * will be altered if the list used to be empty.
- *
- *-----------------------------------------------------------------------
- */
-ReturnStatus
-Lst_EnQueue(Lst l, void *d)
-{
-
- if (Lst_Valid (l) == FALSE) {
- return (FAILURE);
- }
-
- return (Lst_Append (l, Lst_Last(l), d));
-}
diff --git a/usr.bin/make/lst.lib/lstFind.c b/usr.bin/make/lst.lib/lstFind.c
deleted file mode 100644
index f0c1141..0000000
--- a/usr.bin/make/lst.lib/lstFind.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstFind.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstFind.c --
- * Find a node on a list.
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_Find --
- * Find a node on the given list using the given comparison function
- * and the given datum.
- *
- * Results:
- * The found node or NULL if none matches.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-LstNode
-Lst_Find(Lst l, void *d, CompareProc *cProc)
-{
-
- return (Lst_FindFrom (l, Lst_First(l), d, cProc));
-}
diff --git a/usr.bin/make/lst.lib/lstFirst.c b/usr.bin/make/lst.lib/lstFirst.c
deleted file mode 100644
index 05094e7..0000000
--- a/usr.bin/make/lst.lib/lstFirst.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstFirst.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstFirst.c --
- * Return the first node of a list
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_First --
- * Return the first node on the given list.
- *
- * Results:
- * The first node or NULL if the list is empty.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-LstNode
-Lst_First(Lst l)
-{
-
- if (!Lst_Valid (l) || Lst_IsEmpty (l)) {
- return (NULL);
- } else {
- return (l->firstPtr);
- }
-}
diff --git a/usr.bin/make/lst.lib/lstForEach.c b/usr.bin/make/lst.lib/lstForEach.c
deleted file mode 100644
index 0d73cd0..0000000
--- a/usr.bin/make/lst.lib/lstForEach.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstForEach.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstForeach.c --
- * Perform a given function on all elements of a list.
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_ForEach --
- * Apply the given function to each element of the given list. The
- * function should return 0 if Lst_ForEach should continue and non-
- * zero if it should abort.
- *
- * Results:
- * None.
- *
- * Side Effects:
- * Only those created by the passed-in function.
- *
- *-----------------------------------------------------------------------
- */
-void
-Lst_ForEach(Lst l, DoProc *proc, void *d)
-{
-
- Lst_ForEachFrom(l, Lst_First(l), proc, d);
-}
diff --git a/usr.bin/make/lst.lib/lstLast.c b/usr.bin/make/lst.lib/lstLast.c
deleted file mode 100644
index 5332b4f..0000000
--- a/usr.bin/make/lst.lib/lstLast.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstLast.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstLast.c --
- * Return the last element of a list
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_Last --
- * Return the last node on the list l.
- *
- * Results:
- * The requested node or NULL if the list is empty.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-LstNode
-Lst_Last(Lst l)
-{
-
- if (!Lst_Valid(l) || Lst_IsEmpty (l)) {
- return (NULL);
- } else {
- return (l->lastPtr);
- }
-}
diff --git a/usr.bin/make/lst.lib/lstReplace.c b/usr.bin/make/lst.lib/lstReplace.c
deleted file mode 100644
index f321583..0000000
--- a/usr.bin/make/lst.lib/lstReplace.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstReplace.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstReplace.c --
- * Replace the datum in a node with a new datum
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_Replace --
- * Replace the datum in the given node with the new datum
- *
- * Results:
- * SUCCESS or FAILURE.
- *
- * Side Effects:
- * The datum field fo the node is altered.
- *
- *-----------------------------------------------------------------------
- */
-ReturnStatus
-Lst_Replace(LstNode ln, void *d)
-{
-
- if (ln == NULL) {
- return (FAILURE);
- } else {
- ln->datum = d;
- return (SUCCESS);
- }
-}
diff --git a/usr.bin/make/lst.lib/lstSucc.c b/usr.bin/make/lst.lib/lstSucc.c
deleted file mode 100644
index edd3961..0000000
--- a/usr.bin/make/lst.lib/lstSucc.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Adam de Boor.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)lstSucc.c 8.1 (Berkeley) 6/6/93
- */
-
-#ifndef lint
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif /* not lint */
-
-/*-
- * LstSucc.c --
- * return the successor to a given node
- */
-
-#include "make.h"
-#include "lst.h"
-
-/*-
- *-----------------------------------------------------------------------
- * Lst_Succ --
- * Return the sucessor to the given node on its list.
- *
- * Results:
- * The successor of the node, if it exists (note that on a circular
- * list, if the node is the only one in the list, it is its own
- * successor).
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-LstNode
-Lst_Succ(LstNode ln)
-{
-
- if (ln == NULL) {
- return (NULL);
- } else {
- return (ln->nextPtr);
- }
-}
OpenPOWER on IntegriCloud