From 5a47c46b39475fc3581b9819f488b977ea1beca3 Mon Sep 17 00:00:00 2001
From: Edmond Yoo <hj3yoo@uwaterloo.ca>
Date: Sun, 16 Sep 2018 03:11:04 +0000
Subject: [PATCH] Moving files from MTGCardDetector

---
 src/list.c |   74 ++++++++++++++++++++++---------------
 1 files changed, 44 insertions(+), 30 deletions(-)

diff --git a/src/list.c b/src/list.c
index 948d960..39e3033 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1,16 +1,18 @@
 #include <stdlib.h>
 #include <string.h>
 #include "list.h"
+#include "option_list.h"
 
 list *make_list()
 {
-	list *l = malloc(sizeof(list));
-	l->size = 0;
-	l->front = 0;
-	l->back = 0;
-	return l;
+    list *l = malloc(sizeof(list));
+    l->size = 0;
+    l->front = 0;
+    l->back = 0;
+    return l;
 }
 
+/*
 void transfer_node(list *s, list *d, node *n)
 {
     node *prev, *next;
@@ -22,6 +24,7 @@
     if(s->front == n) s->front = next;
     if(s->back == n) s->back = prev;
 }
+*/
 
 void *list_pop(list *l){
     if(!l->back) return 0;
@@ -37,44 +40,55 @@
 
 void list_insert(list *l, void *val)
 {
-	node *new = malloc(sizeof(node));
-	new->val = val;
-	new->next = 0;
+    node *new = malloc(sizeof(node));
+    new->val = val;
+    new->next = 0;
 
-	if(!l->back){
-		l->front = new;
-		new->prev = 0;
-	}else{
-		l->back->next = new;
-		new->prev = l->back;
-	}
-	l->back = new;
-	++l->size;
+    if(!l->back){
+        l->front = new;
+        new->prev = 0;
+    }else{
+        l->back->next = new;
+        new->prev = l->back;
+    }
+    l->back = new;
+    ++l->size;
 }
 
 void free_node(node *n)
 {
-	node *next;
-	while(n) {
-		next = n->next;
-		free(n);
-		n = next;
-	}
+    node *next;
+    while(n) {
+        next = n->next;
+        free(n);
+        n = next;
+    }
 }
 
 void free_list(list *l)
 {
-	free_node(l->front);
-	free(l);
+    free_node(l->front);
+    free(l);
 }
 
 void free_list_contents(list *l)
 {
-	node *n = l->front;
-	while(n){
-		free(n->val);
-		n = n->next;
-	}
+    node *n = l->front;
+    while(n){
+        free(n->val);
+        n = n->next;
+    }
+}
+
+void free_list_contents_kvp(list *l)
+{
+    node *n = l->front;
+    while (n) {
+        kvp *p = n->val;
+        free(p->key);
+        free(n->val);
+        n = n->next;
+    }
 }
 
 void **list_to_array(list *l)

--
Gitblit v1.10.0