Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/blenlib/intern/listbase.c
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/blenlib/intern/listbase.c')
-rw-r--r--source/blender/blenlib/intern/listbase.c964
1 files changed, 483 insertions, 481 deletions
diff --git a/source/blender/blenlib/intern/listbase.c b/source/blender/blenlib/intern/listbase.c
index e34f9d0ab10..ff9e21319da 100644
--- a/source/blender/blenlib/intern/listbase.c
+++ b/source/blender/blenlib/intern/listbase.c
@@ -28,7 +28,6 @@
#include <string.h>
#include <stdlib.h>
-
#include "MEM_guardedalloc.h"
#include "DNA_listBase.h"
@@ -44,20 +43,20 @@
*/
void BLI_movelisttolist(ListBase *dst, ListBase *src)
{
- if (src->first == NULL) {
- return;
- }
+ if (src->first == NULL) {
+ return;
+ }
- if (dst->first == NULL) {
- dst->first = src->first;
- dst->last = src->last;
- }
- else {
- ((Link *)dst->last)->next = src->first;
- ((Link *)src->first)->prev = dst->last;
- dst->last = src->last;
- }
- src->first = src->last = NULL;
+ if (dst->first == NULL) {
+ dst->first = src->first;
+ dst->last = src->last;
+ }
+ else {
+ ((Link *)dst->last)->next = src->first;
+ ((Link *)src->first)->prev = dst->last;
+ dst->last = src->last;
+ }
+ src->first = src->last = NULL;
}
/**
@@ -65,21 +64,21 @@ void BLI_movelisttolist(ListBase *dst, ListBase *src)
*/
void BLI_movelisttolist_reverse(ListBase *dst, ListBase *src)
{
- if (src->first == NULL) {
- return;
- }
+ if (src->first == NULL) {
+ return;
+ }
- if (dst->first == NULL) {
- dst->first = src->first;
- dst->last = src->last;
- }
- else {
- ((Link *)src->last)->next = dst->first;
- ((Link *)dst->first)->prev = src->last;
- dst->first = src->first;
- }
+ if (dst->first == NULL) {
+ dst->first = src->first;
+ dst->last = src->last;
+ }
+ else {
+ ((Link *)src->last)->next = dst->first;
+ ((Link *)dst->first)->prev = src->last;
+ dst->first = src->first;
+ }
- src->first = src->last = NULL;
+ src->first = src->last = NULL;
}
/**
@@ -87,73 +86,71 @@ void BLI_movelisttolist_reverse(ListBase *dst, ListBase *src)
*/
void BLI_addhead(ListBase *listbase, void *vlink)
{
- Link *link = vlink;
+ Link *link = vlink;
- if (link == NULL) {
- return;
- }
+ if (link == NULL) {
+ return;
+ }
- link->next = listbase->first;
- link->prev = NULL;
+ link->next = listbase->first;
+ link->prev = NULL;
- if (listbase->first) {
- ((Link *)listbase->first)->prev = link;
- }
- if (listbase->last == NULL) {
- listbase->last = link;
- }
- listbase->first = link;
+ if (listbase->first) {
+ ((Link *)listbase->first)->prev = link;
+ }
+ if (listbase->last == NULL) {
+ listbase->last = link;
+ }
+ listbase->first = link;
}
-
/**
* Appends \a vlink (assumed to begin with a Link) onto listbase.
*/
void BLI_addtail(ListBase *listbase, void *vlink)
{
- Link *link = vlink;
+ Link *link = vlink;
- if (link == NULL) {
- return;
- }
+ if (link == NULL) {
+ return;
+ }
- link->next = NULL;
- link->prev = listbase->last;
+ link->next = NULL;
+ link->prev = listbase->last;
- if (listbase->last) {
- ((Link *)listbase->last)->next = link;
- }
- if (listbase->first == NULL) {
- listbase->first = link;
- }
- listbase->last = link;
+ if (listbase->last) {
+ ((Link *)listbase->last)->next = link;
+ }
+ if (listbase->first == NULL) {
+ listbase->first = link;
+ }
+ listbase->last = link;
}
-
/**
* Removes \a vlink from \a listbase. Assumes it is linked into there!
*/
void BLI_remlink(ListBase *listbase, void *vlink)
{
- Link *link = vlink;
+ Link *link = vlink;
- if (link == NULL) {
- return;
- }
+ if (link == NULL) {
+ return;
+ }
- if (link->next) {
- link->next->prev = link->prev;
- }
- if (link->prev) {
- link->prev->next = link->next;
- }
+ if (link->next) {
+ link->next->prev = link->prev;
+ }
+ if (link->prev) {
+ link->prev->next = link->next;
+ }
- if (listbase->last == link) {
- listbase->last = link->prev;
- }
- if (listbase->first == link) {
- listbase->first = link->next;
- }
+ if (listbase->last == link) {
+ listbase->last = link->prev;
+ }
+ if (listbase->first == link) {
+ listbase->first = link->next;
+ }
}
/**
@@ -161,13 +158,13 @@ void BLI_remlink(ListBase *listbase, void *vlink)
*/
bool BLI_remlink_safe(ListBase *listbase, void *vlink)
{
- if (BLI_findindex(listbase, vlink) != -1) {
- BLI_remlink(listbase, vlink);
- return true;
- }
- else {
- return false;
- }
+ if (BLI_findindex(listbase, vlink) != -1) {
+ BLI_remlink(listbase, vlink);
+ return true;
+ }
+ else {
+ return false;
+ }
}
/**
@@ -175,55 +172,55 @@ bool BLI_remlink_safe(ListBase *listbase, void *vlink)
*/
void BLI_listbase_swaplinks(ListBase *listbase, void *vlinka, void *vlinkb)
{
- Link *linka = vlinka;
- Link *linkb = vlinkb;
-
- if (!linka || !linkb) {
- return;
- }
-
- if (linkb->next == linka) {
- SWAP(Link *, linka, linkb);
- }
-
- if (linka->next == linkb) {
- linka->next = linkb->next;
- linkb->prev = linka->prev;
- linka->prev = linkb;
- linkb->next = linka;
- }
- else { /* Non-contiguous items, we can safely swap. */
- SWAP(Link *, linka->prev, linkb->prev);
- SWAP(Link *, linka->next, linkb->next);
- }
-
- /* Update neighbors of linka and linkb. */
- if (linka->prev) {
- linka->prev->next = linka;
- }
- if (linka->next) {
- linka->next->prev = linka;
- }
- if (linkb->prev) {
- linkb->prev->next = linkb;
- }
- if (linkb->next) {
- linkb->next->prev = linkb;
- }
-
- if (listbase->last == linka) {
- listbase->last = linkb;
- }
- else if (listbase->last == linkb) {
- listbase->last = linka;
- }
-
- if (listbase->first == linka) {
- listbase->first = linkb;
- }
- else if (listbase->first == linkb) {
- listbase->first = linka;
- }
+ Link *linka = vlinka;
+ Link *linkb = vlinkb;
+
+ if (!linka || !linkb) {
+ return;
+ }
+
+ if (linkb->next == linka) {
+ SWAP(Link *, linka, linkb);
+ }
+
+ if (linka->next == linkb) {
+ linka->next = linkb->next;
+ linkb->prev = linka->prev;
+ linka->prev = linkb;
+ linkb->next = linka;
+ }
+ else { /* Non-contiguous items, we can safely swap. */
+ SWAP(Link *, linka->prev, linkb->prev);
+ SWAP(Link *, linka->next, linkb->next);
+ }
+
+ /* Update neighbors of linka and linkb. */
+ if (linka->prev) {
+ linka->prev->next = linka;
+ }
+ if (linka->next) {
+ linka->next->prev = linka;
+ }
+ if (linkb->prev) {
+ linkb->prev->next = linkb;
+ }
+ if (linkb->next) {
+ linkb->next->prev = linkb;
+ }
+
+ if (listbase->last == linka) {
+ listbase->last = linkb;
+ }
+ else if (listbase->last == linkb) {
+ listbase->last = linka;
+ }
+
+ if (listbase->first == linka) {
+ listbase->first = linkb;
+ }
+ else if (listbase->first == linkb) {
+ listbase->first = linka;
+ }
}
/**
@@ -231,27 +228,27 @@ void BLI_listbase_swaplinks(ListBase *listbase, void *vlinka, void *vlinkb)
*/
void BLI_listbases_swaplinks(ListBase *listbasea, ListBase *listbaseb, void *vlinka, void *vlinkb)
{
- Link *linka = vlinka;
- Link *linkb = vlinkb;
- Link linkc = {NULL};
+ Link *linka = vlinka;
+ Link *linkb = vlinkb;
+ Link linkc = {NULL};
- if (!linka || !linkb) {
- return;
- }
+ if (!linka || !linkb) {
+ return;
+ }
- /* Temporary link to use as placeholder of the links positions */
- BLI_insertlinkafter(listbasea, linka, &linkc);
+ /* Temporary link to use as placeholder of the links positions */
+ BLI_insertlinkafter(listbasea, linka, &linkc);
- /* Bring linka into linkb position */
- BLI_remlink(listbasea, linka);
- BLI_insertlinkafter(listbaseb, linkb, linka);
+ /* Bring linka into linkb position */
+ BLI_remlink(listbasea, linka);
+ BLI_insertlinkafter(listbaseb, linkb, linka);
- /* Bring linkb into linka position */
- BLI_remlink(listbaseb, linkb);
- BLI_insertlinkafter(listbasea, &linkc, linkb);
+ /* Bring linkb into linka position */
+ BLI_remlink(listbaseb, linkb);
+ BLI_insertlinkafter(listbasea, &linkc, linkb);
- /* Remove temporary link */
- BLI_remlink(listbasea, &linkc);
+ /* Remove temporary link */
+ BLI_remlink(listbasea, &linkc);
}
/**
@@ -259,24 +256,23 @@ void BLI_listbases_swaplinks(ListBase *listbasea, ListBase *listbaseb, void *vli
*/
void *BLI_pophead(ListBase *listbase)
{
- Link *link;
- if ((link = listbase->first)) {
- BLI_remlink(listbase, link);
- }
- return link;
+ Link *link;
+ if ((link = listbase->first)) {
+ BLI_remlink(listbase, link);
+ }
+ return link;
}
-
/**
* Removes the tail from \a listbase and returns it.
*/
void *BLI_poptail(ListBase *listbase)
{
- Link *link;
- if ((link = listbase->last)) {
- BLI_remlink(listbase, link);
- }
- return link;
+ Link *link;
+ if ((link = listbase->last)) {
+ BLI_remlink(listbase, link);
+ }
+ return link;
}
/**
@@ -284,14 +280,14 @@ void *BLI_poptail(ListBase *listbase)
*/
void BLI_freelinkN(ListBase *listbase, void *vlink)
{
- Link *link = vlink;
+ Link *link = vlink;
- if (link == NULL) {
- return;
- }
+ if (link == NULL) {
+ return;
+ }
- BLI_remlink(listbase, link);
- MEM_freeN(link);
+ BLI_remlink(listbase, link);
+ MEM_freeN(link);
}
/**
@@ -299,13 +295,13 @@ void BLI_freelinkN(ListBase *listbase, void *vlink)
*/
static void listbase_double_from_single(Link *iter, ListBase *listbase)
{
- Link *prev = NULL;
- listbase->first = iter;
- do {
- iter->prev = prev;
- prev = iter;
- } while ((iter = iter->next));
- listbase->last = prev;
+ Link *prev = NULL;
+ listbase->first = iter;
+ do {
+ iter->prev = prev;
+ prev = iter;
+ } while ((iter = iter->next));
+ listbase->last = prev;
}
#define SORT_IMPL_LINKTYPE Link
@@ -331,20 +327,22 @@ static void listbase_double_from_single(Link *iter, ListBase *listbase)
*/
void BLI_listbase_sort(ListBase *listbase, int (*cmp)(const void *, const void *))
{
- if (listbase->first != listbase->last) {
- Link *head = listbase->first;
- head = listbase_sort_fn(head, cmp);
- listbase_double_from_single(head, listbase);
- }
+ if (listbase->first != listbase->last) {
+ Link *head = listbase->first;
+ head = listbase_sort_fn(head, cmp);
+ listbase_double_from_single(head, listbase);
+ }
}
-void BLI_listbase_sort_r(ListBase *listbase, int (*cmp)(void *, const void *, const void *), void *thunk)
+void BLI_listbase_sort_r(ListBase *listbase,
+ int (*cmp)(void *, const void *, const void *),
+ void *thunk)
{
- if (listbase->first != listbase->last) {
- Link *head = listbase->first;
- head = listbase_sort_fn_r(head, cmp, thunk);
- listbase_double_from_single(head, listbase);
- }
+ if (listbase->first != listbase->last) {
+ Link *head = listbase->first;
+ head = listbase_sort_fn_r(head, cmp, thunk);
+ listbase_double_from_single(head, listbase);
+ }
}
/**
@@ -353,41 +351,41 @@ void BLI_listbase_sort_r(ListBase *listbase, int (*cmp)(void *, const void *, co
*/
void BLI_insertlinkafter(ListBase *listbase, void *vprevlink, void *vnewlink)
{
- Link *prevlink = vprevlink;
- Link *newlink = vnewlink;
+ Link *prevlink = vprevlink;
+ Link *newlink = vnewlink;
- /* newlink before nextlink */
- if (newlink == NULL) {
- return;
- }
+ /* newlink before nextlink */
+ if (newlink == NULL) {
+ return;
+ }
- /* empty list */
- if (listbase->first == NULL) {
- listbase->first = newlink;
- listbase->last = newlink;
- return;
- }
+ /* empty list */
+ if (listbase->first == NULL) {
+ listbase->first = newlink;
+ listbase->last = newlink;
+ return;
+ }
- /* insert at head of list */
- if (prevlink == NULL) {
- newlink->prev = NULL;
- newlink->next = listbase->first;
- newlink->next->prev = newlink;
- listbase->first = newlink;
- return;
- }
+ /* insert at head of list */
+ if (prevlink == NULL) {
+ newlink->prev = NULL;
+ newlink->next = listbase->first;
+ newlink->next->prev = newlink;
+ listbase->first = newlink;
+ return;
+ }
- /* at end of list */
- if (listbase->last == prevlink) {
- listbase->last = newlink;
- }
+ /* at end of list */
+ if (listbase->last == prevlink) {
+ listbase->last = newlink;
+ }
- newlink->next = prevlink->next;
- newlink->prev = prevlink;
- prevlink->next = newlink;
- if (newlink->next) {
- newlink->next->prev = newlink;
- }
+ newlink->next = prevlink->next;
+ newlink->prev = prevlink;
+ prevlink->next = newlink;
+ if (newlink->next) {
+ newlink->next->prev = newlink;
+ }
}
/**
@@ -396,44 +394,43 @@ void BLI_insertlinkafter(ListBase *listbase, void *vprevlink, void *vnewlink)
*/
void BLI_insertlinkbefore(ListBase *listbase, void *vnextlink, void *vnewlink)
{
- Link *nextlink = vnextlink;
- Link *newlink = vnewlink;
+ Link *nextlink = vnextlink;
+ Link *newlink = vnewlink;
- /* newlink before nextlink */
- if (newlink == NULL) {
- return;
- }
+ /* newlink before nextlink */
+ if (newlink == NULL) {
+ return;
+ }
- /* empty list */
- if (listbase->first == NULL) {
- listbase->first = newlink;
- listbase->last = newlink;
- return;
- }
+ /* empty list */
+ if (listbase->first == NULL) {
+ listbase->first = newlink;
+ listbase->last = newlink;
+ return;
+ }
- /* insert at end of list */
- if (nextlink == NULL) {
- newlink->prev = listbase->last;
- newlink->next = NULL;
- ((Link *)listbase->last)->next = newlink;
- listbase->last = newlink;
- return;
- }
+ /* insert at end of list */
+ if (nextlink == NULL) {
+ newlink->prev = listbase->last;
+ newlink->next = NULL;
+ ((Link *)listbase->last)->next = newlink;
+ listbase->last = newlink;
+ return;
+ }
- /* at beginning of list */
- if (listbase->first == nextlink) {
- listbase->first = newlink;
- }
+ /* at beginning of list */
+ if (listbase->first == nextlink) {
+ listbase->first = newlink;
+ }
- newlink->next = nextlink;
- newlink->prev = nextlink->prev;
- nextlink->prev = newlink;
- if (newlink->prev) {
- newlink->prev->next = newlink;
- }
+ newlink->next = nextlink;
+ newlink->prev = nextlink->prev;
+ nextlink->prev = newlink;
+ if (newlink->prev) {
+ newlink->prev->next = newlink;
+ }
}
-
/**
* Insert a link in place of another, without changing it's position in the list.
*
@@ -443,28 +440,28 @@ void BLI_insertlinkbefore(ListBase *listbase, void *vnextlink, void *vnewlink)
*/
void BLI_insertlinkreplace(ListBase *listbase, void *vreplacelink, void *vnewlink)
{
- Link *l_old = vreplacelink;
- Link *l_new = vnewlink;
+ Link *l_old = vreplacelink;
+ Link *l_new = vnewlink;
- /* update adjacent links */
- if (l_old->next != NULL) {
- l_old->next->prev = l_new;
- }
- if (l_old->prev != NULL) {
- l_old->prev->next = l_new;
- }
+ /* update adjacent links */
+ if (l_old->next != NULL) {
+ l_old->next->prev = l_new;
+ }
+ if (l_old->prev != NULL) {
+ l_old->prev->next = l_new;
+ }
- /* set direct links */
- l_new->next = l_old->next;
- l_new->prev = l_old->prev;
+ /* set direct links */
+ l_new->next = l_old->next;
+ l_new->prev = l_old->prev;
- /* update list */
- if (listbase->first == l_old) {
- listbase->first = l_new;
- }
- if (listbase->last == l_old) {
- listbase->last = l_new;
- }
+ /* update list */
+ if (listbase->first == l_old) {
+ listbase->first = l_new;
+ }
+ if (listbase->last == l_old) {
+ listbase->last = l_new;
+ }
}
/**
@@ -477,50 +474,49 @@ void BLI_insertlinkreplace(ListBase *listbase, void *vreplacelink, void *vnewlin
*/
bool BLI_listbase_link_move(ListBase *listbase, void *vlink, int step)
{
- Link *link = vlink;
- Link *hook = link;
- const bool is_up = step < 0;
+ Link *link = vlink;
+ Link *hook = link;
+ const bool is_up = step < 0;
- if (step == 0) {
- return false;
- }
- BLI_assert(BLI_findindex(listbase, link) != -1);
+ if (step == 0) {
+ return false;
+ }
+ BLI_assert(BLI_findindex(listbase, link) != -1);
- /* find link to insert before/after */
- for (int i = 0; i < ABS(step); i++) {
- hook = is_up ? hook->prev : hook->next;
- if (!hook) {
- return false;
- }
- }
+ /* find link to insert before/after */
+ for (int i = 0; i < ABS(step); i++) {
+ hook = is_up ? hook->prev : hook->next;
+ if (!hook) {
+ return false;
+ }
+ }
- /* reinsert link */
- BLI_remlink(listbase, vlink);
- if (is_up) {
- BLI_insertlinkbefore(listbase, hook, vlink);
- }
- else {
- BLI_insertlinkafter(listbase, hook, vlink);
- }
- return true;
+ /* reinsert link */
+ BLI_remlink(listbase, vlink);
+ if (is_up) {
+ BLI_insertlinkbefore(listbase, hook, vlink);
+ }
+ else {
+ BLI_insertlinkafter(listbase, hook, vlink);
+ }
+ return true;
}
-
/**
* Removes and disposes of the entire contents of listbase using direct free(3).
*/
void BLI_freelist(ListBase *listbase)
{
- Link *link, *next;
+ Link *link, *next;
- link = listbase->first;
- while (link) {
- next = link->next;
- free(link);
- link = next;
- }
+ link = listbase->first;
+ while (link) {
+ next = link->next;
+ free(link);
+ link = next;
+ }
- BLI_listbase_clear(listbase);
+ BLI_listbase_clear(listbase);
}
/**
@@ -528,16 +524,16 @@ void BLI_freelist(ListBase *listbase)
*/
void BLI_freelistN(ListBase *listbase)
{
- Link *link, *next;
+ Link *link, *next;
- link = listbase->first;
- while (link) {
- next = link->next;
- MEM_freeN(link);
- link = next;
- }
+ link = listbase->first;
+ while (link) {
+ next = link->next;
+ MEM_freeN(link);
+ link = next;
+ }
- BLI_listbase_clear(listbase);
+ BLI_listbase_clear(listbase);
}
/**
@@ -547,14 +543,14 @@ void BLI_freelistN(ListBase *listbase)
*/
int BLI_listbase_count_at_most(const ListBase *listbase, const int count_max)
{
- Link *link;
- int count = 0;
+ Link *link;
+ int count = 0;
- for (link = listbase->first; link && count != count_max; link = link->next) {
- count++;
- }
+ for (link = listbase->first; link && count != count_max; link = link->next) {
+ count++;
+ }
- return count;
+ return count;
}
/**
@@ -562,14 +558,14 @@ int BLI_listbase_count_at_most(const ListBase *listbase, const int count_max)
*/
int BLI_listbase_count(const ListBase *listbase)
{
- Link *link;
- int count = 0;
+ Link *link;
+ int count = 0;
- for (link = listbase->first; link; link = link->next) {
- count++;
- }
+ for (link = listbase->first; link; link = link->next) {
+ count++;
+ }
- return count;
+ return count;
}
/**
@@ -577,17 +573,17 @@ int BLI_listbase_count(const ListBase *listbase)
*/
void *BLI_findlink(const ListBase *listbase, int number)
{
- Link *link = NULL;
+ Link *link = NULL;
- if (number >= 0) {
- link = listbase->first;
- while (link != NULL && number != 0) {
- number--;
- link = link->next;
- }
- }
+ if (number >= 0) {
+ link = listbase->first;
+ while (link != NULL && number != 0) {
+ number--;
+ link = link->next;
+ }
+ }
- return link;
+ return link;
}
/**
@@ -595,17 +591,17 @@ void *BLI_findlink(const ListBase *listbase, int number)
*/
void *BLI_rfindlink(const ListBase *listbase, int number)
{
- Link *link = NULL;
+ Link *link = NULL;
- if (number >= 0) {
- link = listbase->last;
- while (link != NULL && number != 0) {
- number--;
- link = link->prev;
- }
- }
+ if (number >= 0) {
+ link = listbase->last;
+ while (link != NULL && number != 0) {
+ number--;
+ link = link->prev;
+ }
+ }
- return link;
+ return link;
}
/**
@@ -613,24 +609,24 @@ void *BLI_rfindlink(const ListBase *listbase, int number)
*/
int BLI_findindex(const ListBase *listbase, const void *vlink)
{
- Link *link = NULL;
- int number = 0;
+ Link *link = NULL;
+ int number = 0;
- if (vlink == NULL) {
- return -1;
- }
+ if (vlink == NULL) {
+ return -1;
+ }
- link = listbase->first;
- while (link) {
- if (link == vlink) {
- return number;
- }
+ link = listbase->first;
+ while (link) {
+ if (link == vlink) {
+ return number;
+ }
- number++;
- link = link->next;
- }
+ number++;
+ link = link->next;
+ }
- return -1;
+ return -1;
}
/**
@@ -639,22 +635,22 @@ int BLI_findindex(const ListBase *listbase, const void *vlink)
*/
void *BLI_findstring(const ListBase *listbase, const char *id, const int offset)
{
- Link *link = NULL;
- const char *id_iter;
+ Link *link = NULL;
+ const char *id_iter;
- if (id == NULL) {
- return NULL;
- }
+ if (id == NULL) {
+ return NULL;
+ }
- for (link = listbase->first; link; link = link->next) {
- id_iter = ((const char *)link) + offset;
+ for (link = listbase->first; link; link = link->next) {
+ id_iter = ((const char *)link) + offset;
- if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
- return link;
- }
- }
+ if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/* same as above but find reverse */
/**
@@ -663,18 +659,18 @@ void *BLI_findstring(const ListBase *listbase, const char *id, const int offset)
*/
void *BLI_rfindstring(const ListBase *listbase, const char *id, const int offset)
{
- Link *link = NULL;
- const char *id_iter;
+ Link *link = NULL;
+ const char *id_iter;
- for (link = listbase->last; link; link = link->prev) {
- id_iter = ((const char *)link) + offset;
+ for (link = listbase->last; link; link = link->prev) {
+ id_iter = ((const char *)link) + offset;
- if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
- return link;
- }
- }
+ if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/**
@@ -683,19 +679,19 @@ void *BLI_rfindstring(const ListBase *listbase, const char *id, const int offset
*/
void *BLI_findstring_ptr(const ListBase *listbase, const char *id, const int offset)
{
- Link *link = NULL;
- const char *id_iter;
+ Link *link = NULL;
+ const char *id_iter;
- for (link = listbase->first; link; link = link->next) {
- /* exact copy of BLI_findstring(), except for this line */
- id_iter = *((const char **)(((const char *)link) + offset));
+ for (link = listbase->first; link; link = link->next) {
+ /* exact copy of BLI_findstring(), except for this line */
+ id_iter = *((const char **)(((const char *)link) + offset));
- if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
- return link;
- }
- }
+ if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/* same as above but find reverse */
/**
@@ -704,19 +700,19 @@ void *BLI_findstring_ptr(const ListBase *listbase, const char *id, const int off
*/
void *BLI_rfindstring_ptr(const ListBase *listbase, const char *id, const int offset)
{
- Link *link = NULL;
- const char *id_iter;
+ Link *link = NULL;
+ const char *id_iter;
- for (link = listbase->last; link; link = link->prev) {
- /* exact copy of BLI_rfindstring(), except for this line */
- id_iter = *((const char **)(((const char *)link) + offset));
+ for (link = listbase->last; link; link = link->prev) {
+ /* exact copy of BLI_rfindstring(), except for this line */
+ id_iter = *((const char **)(((const char *)link) + offset));
- if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
- return link;
- }
- }
+ if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/**
@@ -725,19 +721,19 @@ void *BLI_rfindstring_ptr(const ListBase *listbase, const char *id, const int of
*/
void *BLI_findptr(const ListBase *listbase, const void *ptr, const int offset)
{
- Link *link = NULL;
- const void *ptr_iter;
+ Link *link = NULL;
+ const void *ptr_iter;
- for (link = listbase->first; link; link = link->next) {
- /* exact copy of BLI_findstring(), except for this line */
- ptr_iter = *((const void **)(((const char *)link) + offset));
+ for (link = listbase->first; link; link = link->next) {
+ /* exact copy of BLI_findstring(), except for this line */
+ ptr_iter = *((const void **)(((const char *)link) + offset));
- if (ptr == ptr_iter) {
- return link;
- }
- }
+ if (ptr == ptr_iter) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/* same as above but find reverse */
/**
@@ -746,59 +742,65 @@ void *BLI_findptr(const ListBase *listbase, const void *ptr, const int offset)
*/
void *BLI_rfindptr(const ListBase *listbase, const void *ptr, const int offset)
{
- Link *link = NULL;
- const void *ptr_iter;
+ Link *link = NULL;
+ const void *ptr_iter;
- for (link = listbase->last; link; link = link->prev) {
- /* exact copy of BLI_rfindstring(), except for this line */
- ptr_iter = *((const void **)(((const char *)link) + offset));
+ for (link = listbase->last; link; link = link->prev) {
+ /* exact copy of BLI_rfindstring(), except for this line */
+ ptr_iter = *((const void **)(((const char *)link) + offset));
- if (ptr == ptr_iter) {
- return link;
- }
- }
+ if (ptr == ptr_iter) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/**
* Finds the first element of listbase which contains the specified bytes
* at the specified offset, returning NULL if not found.
*/
-void *BLI_listbase_bytes_find(const ListBase *listbase, const void *bytes, const size_t bytes_size, const int offset)
+void *BLI_listbase_bytes_find(const ListBase *listbase,
+ const void *bytes,
+ const size_t bytes_size,
+ const int offset)
{
- Link *link = NULL;
- const void *ptr_iter;
+ Link *link = NULL;
+ const void *ptr_iter;
- for (link = listbase->first; link; link = link->next) {
- ptr_iter = (const void *)(((const char *)link) + offset);
+ for (link = listbase->first; link; link = link->next) {
+ ptr_iter = (const void *)(((const char *)link) + offset);
- if (memcmp(bytes, ptr_iter, bytes_size) == 0) {
- return link;
- }
- }
+ if (memcmp(bytes, ptr_iter, bytes_size) == 0) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/* same as above but find reverse */
/**
* Finds the last element of listbase which contains the specified bytes
* at the specified offset, returning NULL if not found.
*/
-void *BLI_listbase_bytes_rfind(const ListBase *listbase, const void *bytes, const size_t bytes_size, const int offset)
+void *BLI_listbase_bytes_rfind(const ListBase *listbase,
+ const void *bytes,
+ const size_t bytes_size,
+ const int offset)
{
- Link *link = NULL;
- const void *ptr_iter;
+ Link *link = NULL;
+ const void *ptr_iter;
- for (link = listbase->last; link; link = link->prev) {
- ptr_iter = (const void *)(((const char *)link) + offset);
+ for (link = listbase->last; link; link = link->prev) {
+ ptr_iter = (const void *)(((const char *)link) + offset);
- if (memcmp(bytes, ptr_iter, bytes_size) == 0) {
- return link;
- }
- }
+ if (memcmp(bytes, ptr_iter, bytes_size) == 0) {
+ return link;
+ }
+ }
- return NULL;
+ return NULL;
}
/**
@@ -807,22 +809,22 @@ void *BLI_listbase_bytes_rfind(const ListBase *listbase, const void *bytes, cons
*/
int BLI_findstringindex(const ListBase *listbase, const char *id, const int offset)
{
- Link *link = NULL;
- const char *id_iter;
- int i = 0;
+ Link *link = NULL;
+ const char *id_iter;
+ int i = 0;
- link = listbase->first;
- while (link) {
- id_iter = ((const char *)link) + offset;
+ link = listbase->first;
+ while (link) {
+ id_iter = ((const char *)link) + offset;
- if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
- return i;
- }
- i++;
- link = link->next;
- }
+ if (id[0] == id_iter[0] && STREQ(id, id_iter)) {
+ return i;
+ }
+ i++;
+ link = link->next;
+ }
- return -1;
+ return -1;
}
/**
@@ -830,37 +832,37 @@ int BLI_findstringindex(const ListBase *listbase, const char *id, const int offs
*/
void BLI_duplicatelist(ListBase *dst, const ListBase *src)
{
- struct Link *dst_link, *src_link;
+ struct Link *dst_link, *src_link;
- /* in this order, to ensure it works if dst == src */
- src_link = src->first;
- dst->first = dst->last = NULL;
+ /* in this order, to ensure it works if dst == src */
+ src_link = src->first;
+ dst->first = dst->last = NULL;
- while (src_link) {
- dst_link = MEM_dupallocN(src_link);
- BLI_addtail(dst, dst_link);
+ while (src_link) {
+ dst_link = MEM_dupallocN(src_link);
+ BLI_addtail(dst, dst_link);
- src_link = src_link->next;
- }
+ src_link = src_link->next;
+ }
}
void BLI_listbase_reverse(ListBase *lb)
{
- struct Link *curr = lb->first;
- struct Link *prev = NULL;
- struct Link *next = NULL;
- while (curr) {
- next = curr->next;
- curr->next = prev;
- curr->prev = next;
- prev = curr;
- curr = next;
- }
+ struct Link *curr = lb->first;
+ struct Link *prev = NULL;
+ struct Link *next = NULL;
+ while (curr) {
+ next = curr->next;
+ curr->next = prev;
+ curr->prev = next;
+ prev = curr;
+ curr = next;
+ }
- /* swap first/last */
- curr = lb->first;
- lb->first = lb->last;
- lb->last = curr;
+ /* swap first/last */
+ curr = lb->first;
+ lb->first = lb->last;
+ lb->last = curr;
}
/**
@@ -868,15 +870,15 @@ void BLI_listbase_reverse(ListBase *lb)
*/
void BLI_listbase_rotate_first(ListBase *lb, void *vlink)
{
- /* make circular */
- ((Link *)lb->first)->prev = lb->last;
- ((Link *)lb->last)->next = lb->first;
+ /* make circular */
+ ((Link *)lb->first)->prev = lb->last;
+ ((Link *)lb->last)->next = lb->first;
- lb->first = vlink;
- lb->last = ((Link *)vlink)->prev;
+ lb->first = vlink;
+ lb->last = ((Link *)vlink)->prev;
- ((Link *)lb->first)->prev = NULL;
- ((Link *)lb->last)->next = NULL;
+ ((Link *)lb->first)->prev = NULL;
+ ((Link *)lb->last)->next = NULL;
}
/**
@@ -884,29 +886,29 @@ void BLI_listbase_rotate_first(ListBase *lb, void *vlink)
*/
void BLI_listbase_rotate_last(ListBase *lb, void *vlink)
{
- /* make circular */
- ((Link *)lb->first)->prev = lb->last;
- ((Link *)lb->last)->next = lb->first;
+ /* make circular */
+ ((Link *)lb->first)->prev = lb->last;
+ ((Link *)lb->last)->next = lb->first;
- lb->first = ((Link *)vlink)->next;
- lb->last = vlink;
+ lb->first = ((Link *)vlink)->next;
+ lb->last = vlink;
- ((Link *)lb->first)->prev = NULL;
- ((Link *)lb->last)->next = NULL;
+ ((Link *)lb->first)->prev = NULL;
+ ((Link *)lb->last)->next = NULL;
}
/* create a generic list node containing link to provided data */
LinkData *BLI_genericNodeN(void *data)
{
- LinkData *ld;
+ LinkData *ld;
- if (data == NULL) {
- return NULL;
- }
+ if (data == NULL) {
+ return NULL;
+ }
- /* create new link, and make it hold the given data */
- ld = MEM_callocN(sizeof(LinkData), __func__);
- ld->data = data;
+ /* create new link, and make it hold the given data */
+ ld = MEM_callocN(sizeof(LinkData), __func__);
+ ld->data = data;
- return ld;
+ return ld;
}