staticList

macros of double linked list with defined maximum length supporting any type, this list doesnt use malloc
git clone https://noulin.net/git/staticList.git
Log | Files | Refs | LICENSE

commit 9a3e4cb638121e5d82b06406924bcb46e6ee01a0
parent 21834cd8b2ed0b1c07a8253c7fe2385555dbbbe8
Author: Remy Noulin <loader2x@gmail.com>
Date:   Sun, 23 Dec 2018 10:35:54 +0100

remove extra tmp variable

package.yml  |  8 ++++----
staticList.h | 30 +++++++++++++-----------------
2 files changed, 17 insertions(+), 21 deletions(-)

Diffstat:
Mpackage.yml | 8++++----
MstaticList.h | 30+++++++++++++-----------------
2 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/package.yml b/package.yml @@ -1,17 +1,17 @@ --- name: staticList - version: 0.0.11 + version: 0.0.12 description: "macros of double linked list with defined maximum length supporting any type, this list doesnt use malloc" bin: ./staticList.h #cflags: -DA -ggdb -std=gnu11 -fPIC -pipe #lflags: -rdynamic # debug repository: type: git - url: git+https://github.com/RemyNoulin/staticList.git + url: git+https://github.com/USER/staticList.git keywords: - data structure author: Remy license: MIT bugs: - url: https://github.com/RemyNoulin/staticList/issues - homepage: https://github.com/RemyNoulin/staticList#readme + url: https://github.com/USER/staticList/issues + homepage: https://github.com/USER/staticList#readme diff --git a/staticList.h b/staticList.h @@ -286,12 +286,11 @@ * nodeToInsert and referenceNode must be of type staticListNodeType(name) */ #define staticListInsertAfter(name, referenceNode, nodeToInsert) do{\ - var UNIQVAR(tmp) = referenceNode->next;\ + (nodeToInsert)->next = referenceNode->next;\ referenceNode->next = nodeToInsert;\ (nodeToInsert)->prev = referenceNode;\ - (nodeToInsert)->next = UNIQVAR(tmp);\ - if (UNIQVAR(tmp)) {\ - UNIQVAR(tmp)->prev = nodeToInsert;\ + if ((nodeToInsert)->next) {\ + (nodeToInsert)->next->prev = nodeToInsert;\ }\ else {\ /* referenceNode was last node */\ @@ -305,12 +304,11 @@ * nodeToInsert and referenceNode must be of type staticListNodeType(name) */ #define staticListInsertBefore(name, referenceNode, nodeToInsert) do{\ - var UNIQVAR(tmp) = referenceNode->prev;\ + (nodeToInsert)->prev = referenceNode->prev;\ referenceNode->prev = nodeToInsert;\ (nodeToInsert)->next = referenceNode;\ - (nodeToInsert)->prev = UNIQVAR(tmp);\ - if (UNIQVAR(tmp)) {\ - UNIQVAR(tmp)->next = nodeToInsert;\ + if ((nodeToInsert)->prev) {\ + (nodeToInsert)->prev->next = nodeToInsert;\ }\ else {\ /* referenceNode was head node */\ @@ -351,12 +349,11 @@ #define staticListAddAfter(name, referenceNode, resultNode) do{\ staticListAddNode(name, resultNode);\ if (!(name).res) /* list is full, return false */ break;\ - var UNIQVAR(tmp) = referenceNode->next;\ + (resultNode)->next = referenceNode->next;\ referenceNode->next = resultNode;\ (resultNode)->prev = referenceNode;\ - (resultNode)->next = UNIQVAR(tmp);\ - if (UNIQVAR(tmp)) {\ - UNIQVAR(tmp)->prev = resultNode;\ + if ((resultNode)->next) {\ + (resultNode)->next->prev = resultNode;\ }\ else {\ /* referenceNode was last node */\ @@ -375,12 +372,11 @@ #define staticListAddBefore(name, referenceNode, resultNode) do{\ staticListAddNode(name, resultNode);\ if (!(name).res) /* list is full, return false */ break;\ - var UNIQVAR(tmp) = referenceNode->prev;\ - referenceNode->prev = resultNode;\ + (resultNode)->prev = referenceNode->prev;\ + referenceNode->prev = resultNode;\ (resultNode)->next = referenceNode;\ - (resultNode)->prev = UNIQVAR(tmp);\ - if (UNIQVAR(tmp)) {\ - UNIQVAR(tmp)->next = resultNode;\ + if ((resultNode)->prev) {\ + (resultNode)->prev->next = resultNode;\ }\ else {\ /* referenceNode was head node */\