From 540a68a45639c9576a0cfc7d60865c2fc5e24c1b Mon Sep 17 00:00:00 2001 From: jcorporation Date: Wed, 28 Nov 2018 14:22:38 +0000 Subject: [PATCH] Fix: faster item swapping --- src/list.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/list.c b/src/list.c index f012012..ce94a64 100644 --- a/src/list.c +++ b/src/list.c @@ -55,7 +55,6 @@ struct node *list_node_at(const struct list *l, unsigned index) { return current; } - int list_swap_item(struct node *n1, struct node *n2) { if (n1 == n2) return 1; @@ -64,19 +63,14 @@ int list_swap_item(struct node *n1, struct node *n2) { return 1; int value = n2->value; - char *data = strdup(n2->data); + char *data = n2->data; n2->value = n1->value; - n2->data = realloc(n2->data, strlen(n1->data) + 1); - if (n2->data) - strcpy(n2->data, n1->data); + n2->data = n1->data; n1->value = value; - n1->data = realloc(n1->data, strlen(data) + 1); - if (n1->data) - strcpy(n1->data, data); + n1->data = data; - free(data); return 0; }