summaryrefslogtreecommitdiff
path: root/ecomp-c/ec.c
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-c/ec.c')
-rw-r--r--ecomp-c/ec.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/ecomp-c/ec.c b/ecomp-c/ec.c
index c32865a..8a2fd4a 100644
--- a/ecomp-c/ec.c
+++ b/ecomp-c/ec.c
@@ -1593,17 +1593,6 @@ static void parseParameterList( Scope *scope, ExpressionNodeList *list )
{
ExpressionNode *node;
/*
- * function insertBefore(List list, Node node, Node newNode)
- newNode.next := node
- if node.prev == null
- newNode.prev := null -- (not always necessary)
- list.firstNode := newNode
- else
- newNode.prev := node.prev
- node.prev.next := newNode
- node.prev := newNode
-
-We also need a function to insert a node at the beginning of a possibly empty list:
function insertBeginning(List list, Node newNode)
if list.firstNode == null
@@ -1612,7 +1601,15 @@ function insertBeginning(List list, Node newNode)
newNode.prev := null
newNode.next := null
else
- insertBefore(list, list.firstNode, newNode)
+ newNode.next := list.firstNode
+ if list.firstNode.prev == null
+ newNode.prev := null -- (not always necessary)
+ list.firstNode := newNode
+ else
+ newNode.prev := list.firstNode.prev
+ list.firstNode.prev.next := newNode
+ list.firstNode.prev := newNode
+
*/
Expect( S_lparen );
list->head = NULL;