Module Name: src Committed By: rillig Date: Sat Oct 24 08:56:27 UTC 2020
Modified Files: src/usr.bin/make: lst.c Log Message: make(1): refactor LstNodeNew To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/usr.bin/make/lst.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/lst.c diff -u src/usr.bin/make/lst.c:1.83 src/usr.bin/make/lst.c:1.84 --- src/usr.bin/make/lst.c:1.83 Fri Oct 23 04:58:33 2020 +++ src/usr.bin/make/lst.c Sat Oct 24 08:56:27 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: lst.c,v 1.83 2020/10/23 04:58:33 rillig Exp $ */ +/* $NetBSD: lst.c,v 1.84 2020/10/24 08:56:27 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -34,16 +34,14 @@ #include "make.h" -MAKE_RCSID("$NetBSD: lst.c,v 1.83 2020/10/23 04:58:33 rillig Exp $"); +MAKE_RCSID("$NetBSD: lst.c,v 1.84 2020/10/24 08:56:27 rillig Exp $"); -/* Allocate and initialize a list node. - * - * The fields 'prev' and 'next' must be initialized by the caller. - */ static ListNode * -LstNodeNew(void *datum) +LstNodeNew(ListNode *prev, ListNode *next, void *datum) { ListNode *node = bmake_malloc(sizeof *node); + node->prev = prev; + node->next = next; node->datum = datum; return node; } @@ -131,9 +129,7 @@ Lst_InsertBefore(List *list, ListNode *n assert(!LstIsEmpty(list)); assert(datum != NULL); - newNode = LstNodeNew(datum); - newNode->prev = node->prev; - newNode->next = node; + newNode = LstNodeNew(node->prev, node, datum); if (node->prev != NULL) { node->prev->next = newNode; @@ -153,9 +149,7 @@ Lst_Prepend(List *list, void *datum) assert(datum != NULL); - node = LstNodeNew(datum); - node->prev = NULL; - node->next = list->first; + node = LstNodeNew(NULL, list->first, datum); if (list->first == NULL) { list->first = node; @@ -174,9 +168,7 @@ Lst_Append(List *list, void *datum) assert(datum != NULL); - node = LstNodeNew(datum); - node->prev = list->last; - node->next = NULL; + node = LstNodeNew(list->last, NULL, datum); if (list->last == NULL) { list->first = node;