summaryrefslogtreecommitdiff
path: root/toxcore/list.c
diff options
context:
space:
mode:
authornotsecure <notsecure@marek.ca>2014-05-19 18:55:24 -0400
committernotsecure <notsecure@marek.ca>2014-05-19 18:55:24 -0400
commit9ae2fde0b9326f600571e3d0e30f442e51e68e1e (patch)
tree5c7c7464d2707fd266ef7f974e90aa35d4438930 /toxcore/list.c
parent410294da4882fa7e66e0acc8e323e00dcb2618f9 (diff)
style (again)
Diffstat (limited to 'toxcore/list.c')
-rw-r--r--toxcore/list.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/toxcore/list.c b/toxcore/list.c
index 2494016b..4d83c7be 100644
--- a/toxcore/list.c
+++ b/toxcore/list.c
@@ -48,7 +48,7 @@
48static int find(LIST *list, void *data) 48static int find(LIST *list, void *data)
49{ 49{
50 //should work well, but could be improved 50 //should work well, but could be improved
51 if(list->n == 0) { 51 if (list->n == 0) {
52 return INDEX(0); 52 return INDEX(0);
53 } 53 }
54 54
@@ -58,30 +58,32 @@ static int find(LIST *list, void *data)
58 int d = -1; //used to determine if closest match is found 58 int d = -1; //used to determine if closest match is found
59 //closest match is found if we move back to where we have already been 59 //closest match is found if we move back to where we have already been
60 60
61 while(1) { 61 while (1) {
62 int r = memcmp(data, list->data + list->size * i, list->size); 62 int r = memcmp(data, list->data + list->size * i, list->size);
63 if(r == 0) { 63
64 if (r == 0) {
64 return list->ids[i]; 65 return list->ids[i];
65 } 66 }
66 67
67 if(r > 0) { 68 if (r > 0) {
68 //data is greater 69 //data is greater
69 //move down 70 //move down
70 i += delta; 71 i += delta;
71 72
72 if(d == 0 || i == list->n) { 73 if (d == 0 || i == list->n) {
73 //reached bottom of list, or closest match 74 //reached bottom of list, or closest match
74 return INDEX(i); 75 return INDEX(i);
75 } 76 }
76 77
77 delta = (delta) / 2; 78 delta = (delta) / 2;
78 if(delta == 0) { 79
80 if (delta == 0) {
79 delta = 1; 81 delta = 1;
80 d = 1; 82 d = 1;
81 } 83 }
82 } else { 84 } else {
83 //data is smaller 85 //data is smaller
84 if(d == 1 || i == 0) { 86 if (d == 1 || i == 0) {
85 //reached top or list or closest match 87 //reached top or list or closest match
86 return INDEX(i); 88 return INDEX(i);
87 } 89 }
@@ -90,7 +92,8 @@ static int find(LIST *list, void *data)
90 i -= delta; 92 i -= delta;
91 93
92 delta = (delta) / 2; 94 delta = (delta) / 2;
93 if(delta == 0) { 95
96 if (delta == 0) {
94 delta = 1; 97 delta = 1;
95 d = 0; 98 d = 0;
96 } 99 }
@@ -118,8 +121,9 @@ void list_free(LIST *list)
118int list_find(LIST *list, void *data) 121int list_find(LIST *list, void *data)
119{ 122{
120 int r = find(list, data); 123 int r = find(list, data);
124
121 //return only -1 and positive values 125 //return only -1 and positive values
122 if(r < 0) { 126 if (r < 0) {
123 r = -1; 127 r = -1;
124 } 128 }
125 129
@@ -131,7 +135,8 @@ int list_add(LIST *list, void *data, int id)
131 //find where the new element should be inserted 135 //find where the new element should be inserted
132 //see: return value of find() 136 //see: return value of find()
133 int i = find(list, data); 137 int i = find(list, data);
134 if(i >= 0) { 138
139 if (i >= 0) {
135 //already in list 140 //already in list
136 return 0; 141 return 0;
137 } 142 }
@@ -142,8 +147,7 @@ int list_add(LIST *list, void *data, int id)
142 list->data = realloc(list->data, list->size * (list->n + 1)); 147 list->data = realloc(list->data, list->size * (list->n + 1));
143 list->ids = realloc(list->ids, sizeof(int) * (list->n + 1)); 148 list->ids = realloc(list->ids, sizeof(int) * (list->n + 1));
144 149
145 if(!list->data || !list->ids) 150 if (!list->data || !list->ids) {
146 {
147 return 0; 151 return 0;
148 } 152 }
149 153
@@ -164,8 +168,9 @@ int list_add(LIST *list, void *data, int id)
164void list_remove(LIST *list, int id) 168void list_remove(LIST *list, int id)
165{ 169{
166 int i; 170 int i;
167 for(i = 0; i < list->n; i++) { 171
168 if(list->ids[i] == id) { 172 for (i = 0; i < list->n; i++) {
173 if (list->ids[i] == id) {
169 //decrease number of elements 174 //decrease number of elements
170 list->n--; 175 list->n--;
171 176