SCI: Slightly modified kAddAfter so that it does not modify its arguments needlessly
svn-id: r41174
This commit is contained in:
parent
ae3c6c3053
commit
f08f5c3bbf
2 changed files with 5 additions and 6 deletions
|
@ -310,7 +310,7 @@ reg_t kAddToFront(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
|||
}
|
||||
|
||||
reg_t kAddAfter(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
||||
List *l =lookup_list(s, argv[0]);
|
||||
List *l = lookup_list(s, argv[0]);
|
||||
Node *firstnode = argv[1].isNull() ? NULL : lookup_node(s, argv[1]);
|
||||
Node *newnode = lookup_node(s, argv[2]);
|
||||
|
||||
|
@ -341,12 +341,11 @@ reg_t kAddAfter(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
|||
else
|
||||
lookup_node(s, oldnext)->pred = argv[2];
|
||||
|
||||
return s->r_acc;
|
||||
} else { // !firstnode
|
||||
// Prepare call to AddToFront...
|
||||
argv[1] = argv[0];
|
||||
return kAddToFront(s, funct_nr, 2, argv + 1); // Set as initial list node
|
||||
_k_add_to_front(s, argv[0], argv[2]); // Set as initial list node
|
||||
}
|
||||
|
||||
return s->r_acc;
|
||||
}
|
||||
|
||||
reg_t kAddToEnd(EngineState *s, int funct_nr, int argc, reg_t *argv) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue