Changeset 383
- Timestamp:
- 09/01/06 12:26:14 (2 years ago)
- Files:
-
- cherokee/trunk/cherokee/Makefile.am (modified) (1 diff)
- cherokee/trunk/cherokee/admin_request.c (modified) (3 diffs)
- cherokee/trunk/cherokee/config_node.c (modified) (1 diff)
- cherokee/trunk/cherokee/exts_table.c (modified) (2 diffs)
- cherokee/trunk/cherokee/handler_dirlist.c (modified) (2 diffs)
- cherokee/trunk/cherokee/list.c (modified) (2 diffs)
- cherokee/trunk/cherokee/list.h (modified) (1 diff)
- cherokee/trunk/cherokee/list_ext.c (deleted)
- cherokee/trunk/cherokee/list_ext.h (deleted)
- cherokee/trunk/cherokee/virtual_server.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee/trunk/cherokee/Makefile.am
r379 r383 668 668 list.h \ 669 669 list.c \ 670 list_ext.h \671 list_ext.c \672 670 ncpus.h \ 673 671 ncpus.c \ cherokee/trunk/cherokee/admin_request.c
r122 r383 52 52 cherokee_admin_request_free (cherokee_admin_request_t *req) 53 53 { 54 cherokee_list_ free (&req->list, free);54 cherokee_list_content_free (&req->list, free); 55 55 cherokee_buffer_mrproper (&req->req); 56 56 … … 63 63 cherokee_admin_request_add (cherokee_admin_request_t *req, char *key) 64 64 { 65 cherokee_list_add_tail (&req->list, strdup(key));65 cherokee_list_add_tail_content (&req->list, strdup(key)); 66 66 req->num++; 67 67 return ret_ok; … … 87 87 /* Clean the list 88 88 */ 89 cherokee_list_ free (&req->list, free);89 cherokee_list_content_free (&req->list, free); 90 90 return ret_ok; 91 91 } cherokee/trunk/cherokee/config_node.c
r354 r383 500 500 convert_to_list_step (char *entry, void *data) 501 501 { 502 return cherokee_list_add_tail ((list_t *)data, strdup(entry));502 return cherokee_list_add_tail_content ((list_t *)data, strdup(entry)); 503 503 } 504 504 cherokee/trunk/cherokee/exts_table.c
r354 r383 54 54 cherokee_exts_table_free (cherokee_exts_table_t *et) 55 55 { 56 cherokee_list_ free (&et->list, (cherokee_list_free_func) cherokee_config_entry_free);56 cherokee_list_content_free (&et->list, (cherokee_list_free_func) cherokee_config_entry_free); 57 57 cherokee_table_mrproper (&et->table); 58 58 … … 95 95 96 96 if (!found) { 97 cherokee_list_add (&et->list, plugin_entry);97 cherokee_list_add_content (&et->list, plugin_entry); 98 98 } 99 99 cherokee/trunk/cherokee/handler_dirlist.c
r333 r383 149 149 cherokee_handler_dirlist_props_free (cherokee_handler_dirlist_props_t *props) 150 150 { 151 cherokee_list_ free (&props->notice_files, free);151 cherokee_list_content_free (&props->notice_files, free); 152 152 153 153 cherokee_buffer_mrproper (&props->header); … … 509 509 switch (sort) { 510 510 case Name_Down: 511 list_sort (list, cmp_name_down);511 cherokee_list_sort (list, cmp_name_down); 512 512 break; 513 513 case Name_Up: 514 list_sort (list, cmp_name_up);514 cherokee_list_sort (list, cmp_name_up); 515 515 break; 516 516 case Size_Down: 517 list_sort (list, cmp_size_down);517 cherokee_list_sort (list, cmp_size_down); 518 518 break; 519 519 case Size_Up: 520 list_sort (list, cmp_size_up);520 cherokee_list_sort (list, cmp_size_up); 521 521 break; 522 522 case Date_Down: 523 list_sort (list, cmp_date_down);523 cherokee_list_sort (list, cmp_date_down); 524 524 break; 525 525 case Date_Up: 526 list_sort (list, cmp_date_up);526 cherokee_list_sort (list, cmp_date_up); 527 527 break; 528 528 } cherokee/trunk/cherokee/list.c
r269 r383 30 30 31 31 void 32 list_sort (list_t *head, int (*cmp)(list_t *a, list_t *b))32 cherokee_list_sort (list_t *head, int (*cmp)(list_t *a, list_t *b)) 33 33 { 34 34 list_t *p, *q, *e, *list, *tail, *oldhead; … … 105 105 list->prev = head; 106 106 } 107 108 109 110 ret_t 111 cherokee_list_add_content (list_t *head, void *item) 112 { 113 CHEROKEE_NEW_STRUCT(n,list_item); 114 115 /* Init 116 */ 117 INIT_LIST_HEAD((list_t*)n); 118 n->info = item; 119 120 /* Add to list 121 */ 122 list_add ((list_t *)n, head); 123 124 return ret_ok; 125 } 126 127 128 ret_t 129 cherokee_list_add_tail_content (list_t *head, void *item) 130 { 131 CHEROKEE_NEW_STRUCT(n,list_item); 132 133 /* Init 134 */ 135 INIT_LIST_HEAD((list_t*)n); 136 n->info = item; 137 138 /* Add to list 139 */ 140 list_add_tail ((list_t *)n, head); 141 142 return ret_ok; 143 } 144 145 146 ret_t 147 cherokee_list_content_free (list_t *head, cherokee_list_free_func free_func) 148 { 149 list_t *i, *tmp; 150 151 list_for_each_safe (i, tmp, head) { 152 cherokee_list_content_free_item (i, free_func); 153 } 154 155 INIT_LIST_HEAD(head); 156 157 return ret_ok; 158 } 159 160 161 ret_t 162 cherokee_list_content_free_item (list_t *head, cherokee_list_free_func free_func) 163 { 164 list_del (head); 165 166 if ((free_func != NULL) && (LIST_ITEM(head)->info)) { 167 free_func (LIST_ITEM(head)->info); 168 } 169 170 free (head); 171 return ret_ok; 172 } 173 174 175 ret_t 176 cherokee_list_content_free_item_simple (list_t *head) 177 { 178 list_del (head); 179 180 if (LIST_ITEM(head)->info) { 181 free (LIST_ITEM(head)->info); 182 } 183 184 free (head); 185 return ret_ok; 186 } cherokee/trunk/cherokee/list.h
r269 r383 103 103 } 104 104 105 void list_sort (list_t *head, int (*cmp)(list_t *a, list_t *b)); 105 void cherokee_list_sort (list_t *head, int (*cmp)(list_t *a, list_t *b)); 106 107 108 /* Methods for non list elements 109 */ 110 111 typedef void (*cherokee_list_free_func) (void *); 112 113 typedef struct { 114 list_t list; 115 void *info; 116 } cherokee_list_item_t; 117 118 #define LIST_ITEM(i) ((cherokee_list_item_t *)(i)) 119 #define LIST_ITEM_INFO(i) (LIST_ITEM(i)->info) 120 121 ret_t cherokee_list_add_content (list_t *head, void *item); 122 ret_t cherokee_list_add_tail_content (list_t *head, void *item); 123 124 ret_t cherokee_list_content_free (list_t *head, cherokee_list_free_func free_func); 125 ret_t cherokee_list_content_free_item (list_t *head, cherokee_list_free_func free_func); 126 ret_t cherokee_list_content_free_item_simple (list_t *head); 127 106 128 107 129 CHEROKEE_END_DECLS cherokee/trunk/cherokee/virtual_server.c
r378 r383 164 164 /* Index list 165 165 */ 166 cherokee_list_ free (&vserver->index_list, free);166 cherokee_list_content_free (&vserver->index_list, free); 167 167 168 168 free (vserver); … … 353 353 TRACE(ENTRIES, "Adding directory index '%s'\n", index); 354 354 355 cherokee_list_add_tail (&vserver->index_list, strdup(index));355 cherokee_list_add_tail_content (&vserver->index_list, strdup(index)); 356 356 return ret_ok; 357 357 }