Changeset 4389
- Timestamp:
- 09/29/06 15:40:40 (2 years ago)
- Files:
-
- libwired/trunk/libwired/collections/wi-array.c (modified) (1 diff)
- libwired/trunk/libwired/collections/wi-list.c (modified) (5 diffs)
- libwired/trunk/libwired/net/wi-host.c (modified) (1 diff)
- libwired/trunk/libwired/net/wi-socket.c (modified) (5 diffs)
- libwired/trunk/libwired/system/wi-terminal.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libwired/trunk/libwired/collections/wi-array.c
r4116 r4389 228 228 229 229 wi_array_t * wi_array_init_with_list(wi_array_t *array, wi_list_t *list) { 230 wi_ list_node_t *node;231 void *data;230 wi_enumerator_t *enumerator; 231 void *data; 232 232 233 233 array = wi_array_init_with_capacity(array, wi_list_count(list)); 234 235 WI_LIST_FOREACH(list, node, data) 234 enumerator = wi_list_data_enumerator(list); 235 236 while((data = wi_enumerator_next_data(enumerator))) 236 237 wi_array_add_data(array, data); 237 238 libwired/trunk/libwired/collections/wi-list.c
r4116 r4389 223 223 static wi_runtime_instance_t * _wi_list_copy(wi_runtime_instance_t *instance) { 224 224 wi_list_t *list = instance, *list_copy; 225 wi_ list_node_t *node;226 wi_runtime_instance_t*data;225 wi_enumerator_t *enumerator; 226 void *data; 227 227 228 228 list_copy = wi_list_init_with_callbacks(wi_list_alloc(), list->callbacks); 229 230 WI_LIST_FOREACH(list, node, data) 229 enumerator = wi_list_data_enumerator(list); 230 231 while((data = wi_enumerator_next_data(enumerator))) 231 232 wi_list_append_data(list_copy, data); 232 233 … … 265 266 static wi_string_t * _wi_list_description(wi_runtime_instance_t *instance) { 266 267 wi_list_t *list = instance; 267 wi_ list_node_t *node;268 wi_enumerator_t *enumerator; 268 269 wi_string_t *string, *description; 269 270 void *data; … … 274 275 list->count); 275 276 276 WI_LIST_FOREACH(list, node, data) { 277 enumerator = wi_list_data_enumerator(list); 278 279 while((data = wi_enumerator_next_data(enumerator))) { 277 280 if(list->callbacks.description) 278 281 description = (*list->callbacks.description)(data); … … 295 298 wi_rwlock_wrlock(list->lock); 296 299 } 297 298 300 299 301 … … 727 729 728 730 void wi_list_append_data_from_list(wi_list_t *list, wi_list_t *otherlist) { 729 wi_ list_node_t *node;731 wi_enumerator_t *enumerator; 730 732 void *data; 731 733 732 WI_LIST_FOREACH(otherlist, node, data) 734 enumerator = wi_list_data_enumerator(list); 735 736 while((data = wi_enumerator_next_data(enumerator))) 733 737 wi_list_append_data(list, data); 734 738 } libwired/trunk/libwired/net/wi-host.c
r4051 r4389 158 158 wi_host_t *host1 = instance1; 159 159 wi_host_t *host2 = instance2; 160 wi_enumerator_t *enumerator; 160 161 wi_list_t *addresses1; 161 162 wi_list_t *addresses2; 162 wi_list_node_t *node;163 163 wi_address_t *address; 164 wi_boolean_t equal = false;164 wi_boolean_t equal = true; 165 165 166 166 addresses1 = wi_host_addresses(host1); 167 167 addresses2 = wi_host_addresses(host2); 168 168 169 if(addresses1 && addresses2) { 170 WI_LIST_FOREACH(addresses1, node, address) { 171 if(wi_list_contains_data(addresses2, address)) { 172 equal = true; 173 174 break; 175 } 169 if(!addresses1 || !addresses2) 170 return false; 171 172 if(wi_list_count(addresses1) != wi_list_count(addresses2)) 173 return false; 174 175 enumerator = wi_list_data_enumerator(addresses1); 176 177 while((address = wi_enumerator_next_data(enumerator))) { 178 if(!wi_list_contains_data(addresses2, address)) { 179 equal = false; 180 181 break; 176 182 } 177 183 } libwired/trunk/libwired/net/wi-socket.c
r4099 r4389 838 838 839 839 wi_socket_t * wi_socket_wait_multiple(wi_list_t *list, wi_time_interval_t timeout) { 840 wi_ list_node_t *node;840 wi_enumerator_t *enumerator; 841 841 wi_socket_t *socket, *accept_socket; 842 842 struct timeval tv; … … 851 851 852 852 wi_list_rdlock(list); 853 WI_LIST_FOREACH(list, node, socket) { 853 854 enumerator = wi_list_data_enumerator(list); 855 856 while((socket = wi_enumerator_next_data(enumerator))) { 854 857 if(socket->direction & WI_SOCKET_READ) 855 858 FD_SET(socket->sd, &rfds); … … 861 864 max_sd = socket->sd; 862 865 } 866 863 867 wi_list_unlock(list); 864 868 … … 874 878 875 879 wi_list_rdlock(list); 876 WI_LIST_FOREACH(list, node, socket) { 880 881 enumerator = wi_list_data_enumerator(list); 882 883 while((socket = wi_enumerator_next_data(enumerator))) { 877 884 if(FD_ISSET(socket->sd, &rfds) || FD_ISSET(socket->sd, &wfds)) { 878 885 accept_socket = socket; … … 881 888 } 882 889 } 890 883 891 wi_list_unlock(list); 884 892 libwired/trunk/libwired/system/wi-terminal.c
r4387 r4389 112 112 static void _wi_terminal_buffer_reload(wi_terminal_buffer_t *); 113 113 114 114 115 static char _wi_terminal_flush_buffer[_WI_TERMINAL_FLUSH_BUFFER_SIZE]; 115 116 static uint32_t _wi_terminal_flush_offset; … … 357 358 358 359 void wi_terminal_set_size(wi_terminal_t *terminal, wi_size_t size) { 359 uint32_t i, count; 360 wi_enumerator_t *enumerator; 361 wi_terminal_buffer_t *buffer; 360 362 361 363 terminal->co = size.width; 362 364 terminal->li = size.height; 363 365 364 count = wi_array_count(terminal->buffers);365 366 for(i = 0; i < count; i++)367 _wi_terminal_buffer_reload( WI_ARRAY(terminal->buffers, i));366 enumerator = wi_array_data_enumerator(terminal->buffers); 367 368 while((buffer = wi_enumerator_next_data(enumerator))) 369 _wi_terminal_buffer_reload(buffer); 368 370 } 369 371 … … 560 562 561 563 static wi_array_t * _wi_terminal_buffer_lines_for_string(wi_terminal_buffer_t *buffer, wi_string_t *string) { 562 wi_array_t *array, *linearray; 564 wi_enumerator_t *enumerator; 565 wi_array_t *array; 563 566 wi_string_t *string_copy, *line, *subline; 564 567 wi_size_t size; 565 uint32_t i , count, index;568 uint32_t index; 566 569 567 570 array = wi_array_init(wi_array_alloc()); 568 571 size = wi_terminal_size(buffer->terminal); 569 linearray = wi_string_components_separated_by_string(string, WI_STR("\n")); 570 count = wi_array_count(linearray); 571 572 for(i = 0; i < count; i++) { 573 line = WI_ARRAY(linearray, i); 574 572 enumerator = wi_array_data_enumerator(wi_string_components_separated_by_string(string, WI_STR("\n"))); 573 574 while((line = wi_enumerator_next_data(enumerator))) { 575 575 if(wi_terminal_width_of_string(buffer->terminal, line) < size.width) { 576 576 wi_array_add_data(array, line); … … 610 610 611 611 wi_boolean_t wi_terminal_buffer_printf(wi_terminal_buffer_t *buffer, wi_string_t *fmt, ...) { 612 wi_enumerator_t *enumerator; 612 613 wi_array_t *array; 613 wi_string_t *string ;614 wi_string_t *string, *line; 614 615 wi_point_t location; 615 616 va_list ap; 616 uint32_t i, count;617 617 wi_boolean_t result = false; 618 618 … … 628 628 wi_terminal_move(buffer->terminal, wi_make_point(0, wi_terminal_scroll(buffer->terminal).length)); 629 629 630 count = wi_array_count(array);630 enumerator = wi_array_data_enumerator(array); 631 631 632 for(i = 0; i < count; i++) {632 while((line = wi_enumerator_next_data(enumerator))) { 633 633 _wi_terminal_puts(buffer->terminal, WI_STR("\n")); 634 _wi_terminal_puts(buffer->terminal, WI_ARRAY(array, i));634 _wi_terminal_puts(buffer->terminal, line); 635 635 636 636 buffer->line++;
