Changeset 835
- Timestamp:
- 07/17/07 14:15:32 (1 year ago)
- Files:
-
- cherokee/trunk/ChangeLog (modified) (1 diff)
- cherokee/trunk/cherokee/avl.c (modified) (4 diffs)
- cherokee/trunk/cherokee/avl.h (modified) (1 diff)
- cherokee/trunk/cherokee/config_entry.c (modified) (1 diff)
- cherokee/trunk/cherokee/config_entry.h (modified) (3 diffs)
- cherokee/trunk/cherokee/connection-protected.h (modified) (2 diffs)
- cherokee/trunk/cherokee/connection.c (modified) (4 diffs)
- cherokee/trunk/cherokee/dirs_table.c (modified) (1 diff)
- cherokee/trunk/cherokee/encoder_table.c (modified) (1 diff)
- cherokee/trunk/cherokee/exts_table.c (modified) (1 diff)
- cherokee/trunk/cherokee/handler_dirlist.c (modified) (2 diffs)
- cherokee/trunk/cherokee/handler_server_info.c (modified) (1 diff)
- cherokee/trunk/cherokee/icons.c (modified) (3 diffs)
- cherokee/trunk/cherokee/icons.h (modified) (1 diff)
- cherokee/trunk/cherokee/mime.c (modified) (1 diff)
- cherokee/trunk/cherokee/nonce.c (modified) (6 diffs)
- cherokee/trunk/cherokee/nonce.h (modified) (1 diff)
- cherokee/trunk/cherokee/regex.c (modified) (1 diff)
- cherokee/trunk/cherokee/util.c (modified) (2 diffs)
- cherokee/trunk/cherokee/util.h (modified) (2 diffs)
- cherokee/trunk/cherokee/validator.c (modified) (1 diff)
- cherokee/trunk/qa/run-tests.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee/trunk/ChangeLog
r834 r835 1 2007-07-17 Alvaro Lopez Ortega <alvaro@alobbs.com> 2 3 * qa/run-tests.py: Count down fixed. 4 5 * cherokee/util.h, cherokee/util.c, cherokee/connection.c, 6 cherokee/connection-protected.h, cherokee/validator.c, 7 cherokee/nonce.c, cherokee/nonce.h: cherokee_table replaced by 8 cherokee_avl. 9 10 * cherokee/handler_dirlist.c (render_file): Adapted to the last 11 icons.c change. 12 13 * cherokee/icons.h, cherokee/icons.c: Added a new property 14 blank_icon that is returned when nothing else matches. 15 1 16 2007-07-16 Alvaro Lopez Ortega <alvaro@alobbs.com> 2 17 cherokee/trunk/cherokee/avl.c
r834 r835 68 68 69 69 70 /* Tree 70 71 /* Tree constructor / destructor 71 72 */ 73 72 74 ret_t 73 75 cherokee_avl_init (cherokee_avl_t *avl) … … 79 81 } 80 82 81 82 ret_t 83 cherokee_avl_set_case (cherokee_avl_t *avl, cherokee_boolean_t case_insensitive) 84 { 85 avl->case_insensitive = case_insensitive; 86 return ret_ok; 87 } 88 89 90 ret_t 91 cherokee_avl_mrproper (cherokee_avl_t *avl) 92 { 93 // TODO ! 94 return ret_ok; 95 } 83 CHEROKEE_ADD_FUNC_NEW (avl); 96 84 97 85 … … 101 89 cherokee_avl_value_free_func_t free_func = param; 102 90 103 free_func(value); 104 return ret_ok; 105 } 106 107 ret_t 108 cherokee_avl_mrproper2 (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func) 109 { 91 if (free_func) { 92 free_func(value); 93 } 94 95 return ret_ok; 96 } 97 98 ret_t 99 cherokee_avl_mrproper (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func) 100 { 101 /* Free all the entries 102 */ 110 103 cherokee_avl_while (avl, mrproper2_while, free_func, NULL, NULL); 111 return cherokee_avl_mrproper (avl); 112 } 113 104 105 /* Clean the entries as well 106 */ 107 // TODO ! 108 109 return ret_ok; 110 } 111 112 ret_t 113 cherokee_avl_free (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func) 114 { 115 cherokee_avl_mrproper (avl, free_func); 116 free (avl); 117 return ret_ok; 118 } 119 120 121 /* Tree methods 122 */ 114 123 115 124 static int … … 128 137 return strcmp (A->buf, B->buf); 129 138 } 139 } 140 141 142 143 ret_t 144 cherokee_avl_set_case (cherokee_avl_t *avl, cherokee_boolean_t case_insensitive) 145 { 146 avl->case_insensitive = case_insensitive; 147 return ret_ok; 130 148 } 131 149 cherokee/trunk/cherokee/avl.h
r834 r835 47 47 typedef void (* cherokee_avl_value_free_func_t) (void *param); 48 48 49 ret_t cherokee_avl_init (cherokee_avl_t *avl); 50 ret_t cherokee_avl_mrproper (cherokee_avl_t *avl); 51 ret_t cherokee_avl_mrproper2 (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func); 49 ret_t cherokee_avl_new (cherokee_avl_t **avl); 50 ret_t cherokee_avl_free (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func); 51 52 ret_t cherokee_avl_init (cherokee_avl_t *avl); 53 ret_t cherokee_avl_mrproper (cherokee_avl_t *avl, cherokee_avl_value_free_func_t free_func); 52 54 53 55 ret_t cherokee_avl_add (cherokee_avl_t *avl, cherokee_buffer_t *key, void *value); cherokee/trunk/cherokee/config_entry.c
r690 r835 95 95 96 96 if (entry->users != NULL) { 97 cherokee_ table_free (entry->users);97 cherokee_avl_free (entry->users, free); 98 98 entry->users = NULL; 99 99 } cherokee/trunk/cherokee/config_entry.h
r597 r835 28 28 #include "common-internal.h" 29 29 30 #include " table.h"30 #include "avl.h" 31 31 #include "handler.h" 32 32 #include "http.h" … … 38 38 39 39 typedef struct { 40 /* Parent table_entry40 /* Parent entry 41 41 */ 42 42 void *parent; … … 62 62 cherokee_buffer_t *auth_realm; 63 63 cherokee_http_auth_t authentication; 64 cherokee_ table_t*users;64 cherokee_avl_t *users; 65 65 } cherokee_config_entry_t; 66 66 cherokee/trunk/cherokee/connection-protected.h
r646 r835 52 52 #include "http.h" 53 53 #include "list.h" 54 #include " table.h"54 #include "avl.h" 55 55 #include "buffer_escape.h" 56 56 #include "socket.h" … … 143 143 cherokee_buffer_t userdir; /* 'alo' in http://www.alobbs.com/~alo/thing */ 144 144 cherokee_buffer_t query_string; 145 cherokee_ table_t*arguments;145 cherokee_avl_t *arguments; 146 146 147 147 cherokee_buffer_t host; cherokee/trunk/cherokee/connection.c
r804 r835 194 194 195 195 if (conn->arguments != NULL) { 196 cherokee_ table_free2(conn->arguments, free);196 cherokee_avl_free (conn->arguments, free); 197 197 conn->arguments = NULL; 198 198 } … … 287 287 288 288 if (conn->arguments != NULL) { 289 cherokee_ table_free2(conn->arguments, free);289 cherokee_avl_free (conn->arguments, free); 290 290 conn->arguments = NULL; 291 291 } … … 1700 1700 } 1701 1701 1702 ret = cherokee_ table_get (config_entry->users, conn->validator->user.buf, &foo);1702 ret = cherokee_avl_get (config_entry->users, &conn->validator->user, &foo); 1703 1703 if (ret != ret_ok) { 1704 1704 goto unauthorized; … … 1867 1867 /* Build a new table 1868 1868 */ 1869 ret = cherokee_ table_new (&conn->arguments);1869 ret = cherokee_avl_new (&conn->arguments); 1870 1870 if (unlikely(ret < ret_ok)) return ret; 1871 1871 cherokee/trunk/cherokee/dirs_table.c
r834 r835 45 45 46 46 47 static ret_t48 mrproper_each (cherokee_buffer_t *key, void *value, void *param)49 {50 cherokee_config_entry_free (CONF_ENTRY(value));51 return ret_ok;52 }53 54 47 ret_t 55 48 cherokee_dirs_table_mrproper (cherokee_dirs_table_t *pt) 56 49 { 57 cherokee_avl_while (AVL(pt), 58 mrproper_each, 59 NULL, NULL, NULL); 60 return cherokee_avl_mrproper (AVL(pt)); 50 return cherokee_avl_mrproper (AVL(pt), 51 (cherokee_avl_value_free_func_t) cherokee_config_entry_free); 61 52 } 62 53 cherokee/trunk/cherokee/encoder_table.c
r834 r835 39 39 cherokee_encoder_table_mrproper (cherokee_encoder_table_t *et) 40 40 { 41 return cherokee_avl_mrproper2 (et, (cherokee_table_free_item_t) 42 cherokee_encoder_table_entry_free); 41 return cherokee_avl_mrproper (et, (cherokee_table_free_item_t) cherokee_encoder_table_entry_free); 43 42 } 44 43 cherokee/trunk/cherokee/exts_table.c
r834 r835 46 46 { 47 47 cherokee_list_content_free (&et->list, (cherokee_list_free_func) cherokee_config_entry_free); 48 cherokee_avl_mrproper (&et->avl); 49 48 cherokee_avl_mrproper (&et->avl, NULL); 50 49 return ret_ok; 51 50 } cherokee/trunk/cherokee/handler_dirlist.c
r834 r835 371 371 n->sort = Name_Down; 372 372 373 ret = cherokee_ table_get(HANDLER_CONN(n)->arguments, "order", (void **) &value);373 ret = cherokee_avl_get_ptr (HANDLER_CONN(n)->arguments, "order", (void **) &value); 374 374 if (ret == ret_ok) { 375 375 if (value[0] == 'N') n->sort = Name_Up; … … 769 769 cherokee_buffer_fake (&name_buf, name, strlen(name)); 770 770 ret = cherokee_icons_get_icon (icons, &name_buf, &icon); 771 if (ret != ret_ok) 772 icon = "blank.png"; 771 if (ret != ret_ok) return ret; 773 772 } 774 773 } 775 774 #endif 776 775 776 if (icons && (icon == NULL)) 777 icon = &icons->blank_icon; 778 777 779 VTMP_SUBSTITUTE_TOKEN ("%icon_alt%", alt); 778 VTMP_SUBSTITUTE_TOKEN ("%icon%", icon); 780 if (icon && icon->buf) 781 VTMP_SUBSTITUTE_TOKEN ("%icon%", icon->buf); 782 else 783 VTMP_SUBSTITUTE_TOKEN ("%icon%", ""); 779 784 780 785 /* File cherokee/trunk/cherokee/handler_server_info.c
r764 r835 441 441 cherokee_handler_server_info_init (cherokee_handler_server_info_t *hdl) 442 442 { 443 ret_t ret;444 void *param;445 intweb_interface = 1;443 ret_t ret; 444 void *param; 445 cint_t web_interface = 1; 446 446 447 447 cherokee_connection_parse_args (HANDLER_CONN(hdl)); 448 449 ret = cherokee_ table_get(HANDLER_CONN(hdl)->arguments, "logo", ¶m);448 449 ret = cherokee_avl_get_ptr (HANDLER_CONN(hdl)->arguments, "logo", ¶m); 450 450 if (ret == ret_ok) { 451 451 cherokee/trunk/cherokee/icons.c
r834 r835 54 54 /* Defaults 55 55 */ 56 cherokee_buffer_init (&n->blank_icon); 56 57 cherokee_buffer_init (&n->default_icon); 57 58 cherokee_buffer_init (&n->directory_icon); 58 59 cherokee_buffer_init (&n->parentdir_icon); 59 60 60 61 *icons = n; 61 62 return ret_ok; … … 75 76 /* It stores buffers as values, 76 77 */ 77 cherokee_avl_mrproper2 (&icons->files, free_entry); 78 cherokee_avl_mrproper2 (&icons->suffixes, free_entry); 79 cherokee_avl_mrproper2 (&icons->files_matching, free_entry); 80 78 cherokee_avl_mrproper (&icons->files, free_entry); 79 cherokee_avl_mrproper (&icons->suffixes, free_entry); 80 cherokee_avl_mrproper (&icons->files_matching, free_entry); 81 82 cherokee_buffer_mrproper (&icons->blank_icon); 81 83 cherokee_buffer_mrproper (&icons->default_icon); 82 84 cherokee_buffer_mrproper (&icons->directory_icon); … … 193 195 } 194 196 195 return ret_not_found; 197 *icon_ret = &icons->blank_icon; 198 return ret_ok; 196 199 } 197 200 cherokee/trunk/cherokee/icons.h
r834 r835 38 38 cherokee_avl_t files_matching; 39 39 40 cherokee_buffer_t blank_icon; 40 41 cherokee_buffer_t default_icon; 41 42 cherokee_buffer_t directory_icon; cherokee/trunk/cherokee/mime.c
r834 r835 57 57 return ret_ok; 58 58 59 cherokee_avl_mrproper (&mime->mime_table );59 cherokee_avl_mrproper (&mime->mime_table, NULL); 60 60 61 61 list_for_each_safe (i, tmp, &mime->mime_list) { cherokee/trunk/cherokee/nonce.c
r606 r835 25 25 #include "common-internal.h" 26 26 #include "nonce.h" 27 #include "avl.h" 27 28 #include "connection-protected.h" 28 29 #include "server-protected.h" 29 30 30 31 struct cherokee_nonce_table { 31 cherokee_ table_ttable;32 cherokee_avl_t table; 32 33 CHEROKEE_MUTEX_T (access); 33 34 }; … … 39 40 CHEROKEE_NEW_STRUCT(n, nonce_table); 40 41 41 cherokee_ table_init (TABLE(n));42 cherokee_avl_init (&n->table); 42 43 CHEROKEE_MUTEX_INIT (&n->access, NULL); 43 44 … … 51 52 { 52 53 CHEROKEE_MUTEX_DESTROY (&nonces->access); 53 cherokee_ table_free2 (TABLE(nonces), free);54 cherokee_avl_free (&nonces->table, free); 54 55 55 56 return ret_ok; … … 64 65 65 66 CHEROKEE_MUTEX_LOCK (&nonces->access); 66 ret = cherokee_ table_get (TABLE(nonces), nonce->buf, &non);67 ret = cherokee_avl_get (&nonces->table, nonce, &non); 67 68 if (ret == ret_ok) { 68 cherokee_ table_del (TABLE(nonces), nonce->buf, NULL);69 cherokee_avl_del (&nonces->table, nonce, NULL); 69 70 } 70 71 CHEROKEE_MUTEX_UNLOCK (&nonces->access); … … 82 83 83 84 CHEROKEE_MUTEX_LOCK (&nonces->access); 84 ret = cherokee_ table_get (TABLE(nonces), nonce->buf, &non);85 ret = cherokee_avl_get (&nonces->table, nonce, &non); 85 86 CHEROKEE_MUTEX_UNLOCK (&nonces->access); 86 87 … … 108 109 */ 109 110 CHEROKEE_MUTEX_LOCK (&nonces->access); 110 cherokee_ table_add (TABLE(nonces), nonce->buf, NULL);111 cherokee_avl_add (&nonces->table, nonce, NULL); 111 112 CHEROKEE_MUTEX_UNLOCK (&nonces->access); 112 113 cherokee/trunk/cherokee/nonce.h
r597 r835 31 31 32 32 #include <cherokee/common.h> 33 #include <cherokee/table.h>34 33 #include <cherokee/connection.h> 35 34 cherokee/trunk/cherokee/regex.c
r834 r835 57 57 CHEROKEE_RWLOCK_DESTROY (&table->rwlock); 58 58 59 cherokee_avl_mrproper 2(&table->cache, free);59 cherokee_avl_mrproper (&table->cache, free); 60 60 return ret_ok; 61 61 } cherokee/trunk/cherokee/util.c
r784 r835 1063 1063 1064 1064 ret_t 1065 cherokee_parse_query_string (cherokee_buffer_t *qstring, cherokee_ table_t *arguments)1065 cherokee_parse_query_string (cherokee_buffer_t *qstring, cherokee_avl_t *arguments) 1066 1066 { 1067 1067 char *string; … … 1084 1084 val = equ+1; 1085 1085 1086 cherokee_ table_add(arguments, key, strdup(val));1086 cherokee_avl_add_ptr (arguments, key, strdup(val)); 1087 1087 1088 1088 *equ = '='; 1089 1089 } else { 1090 cherokee_ table_add(arguments, token, NULL);1090 cherokee_avl_add_ptr (arguments, token, NULL); 1091 1091 } 1092 1092 cherokee/trunk/cherokee/util.h
r784 r835 31 31 32 32 #include <cherokee/common.h> 33 #include <cherokee/ table.h>33 #include <cherokee/avl.h> 34 34 35 35 #ifdef HAVE_NETINET_IN_H … … 126 126 127 127 ret_t cherokee_parse_query_string (cherokee_buffer_t *qstring, 128 cherokee_ table_t *arguments);128 cherokee_avl_t *arguments); 129 129 130 130 cherokee/trunk/cherokee/validator.c
r782 r835 423 423 } else if (equal_buf_str (&subconf->key, "users")) { 424 424 if (entry->users == NULL) { 425 cherokee_ table_new (&entry->users);425 cherokee_avl_new (&entry->users); 426 426 } 427 427 cherokee/trunk/qa/run-tests.py
r829 r835 27 27 thds = 1 28 28 pause = 0 29 delay = 030 29 tpause = 0.0 31 30 ssl = False … … 43 42 44 43 server = CHEROKEE_PATH 44 delay = SERVER_DELAY 45 45 46 46 # Make the DocumentRoot directory … … 239 239 240 240 for s in range(delay): 241 sys.stdout.write ("Tests will start in %d secs\r" % ( SERVER_DELAY +delay - s - 1))241 sys.stdout.write ("Tests will start in %d secs\r" % (delay - s - 1)) 242 242 sys.stdout.flush() 243 243 time.sleep(1)