src/linked_list.c

changeset 400
8cd274352419
parent 399
8902fcd1e057
child 401
e6a8f7fb0c45
equal deleted inserted replaced
399:8902fcd1e057 400:8cd274352419
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE. 26 * POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "cx/linked_list.h" 29 #include "cx/linked_list.h"
30 #include <stddef.h>
31 30
32 /* LOW LEVEL LINKED LIST FUNCTIONS */ 31 /* LOW LEVEL LINKED LIST FUNCTIONS */
33 32
34 #define CX_LL_PTR(cur, off) ((void**)(((char*)cur)+off)) 33 #define CX_LL_PTR(cur, off) ((void**)(((char*)cur)+off))
35 34
36 void *cx_linked_list_last(void **begin, void **end, off_t loc_next) { 35 void *cx_linked_list_last(void **begin, void **end, ptrdiff_t loc_next) {
37 if (end != NULL) { 36 if (end != NULL) {
38 return *end; 37 return *end;
39 } else { 38 } else {
40 if (begin == NULL || *begin == NULL) 39 if (begin == NULL || *begin == NULL)
41 return NULL; 40 return NULL;
48 47
49 return last; 48 return last;
50 } 49 }
51 } 50 }
52 51
53 int cx_linked_list_add(void **begin, void **end, off_t loc_next, off_t loc_prev, void *newnode) { 52 int cx_linked_list_add(void **begin, void **end, ptrdiff_t loc_next, ptrdiff_t loc_prev, void *newnode) {
54 // TODO: how do we report error messages? 53 // TODO: how do we report error messages?
55 if (loc_next < 0 || (begin == NULL && end == NULL)) { 54 if (loc_next < 0 || (begin == NULL && end == NULL)) {
56 return 1; 55 return 1;
57 } 56 }
58 57

mercurial