Changeset f959a20f in mainline for uspace/lib
- Timestamp:
- 2019-02-01T22:32:38Z (7 years ago)
- Children:
- 00b7fc8
- Parents:
- 1a37496
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-01 21:22:39)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-01 22:32:38)
- Location:
- uspace/lib
- Files:
-
- 9 edited
-
c/generic/adt/hash_table.c (modified) (1 diff)
-
c/generic/thread/fibril.c (modified) (1 diff)
-
c/include/ipc/devman.h (modified) (1 diff)
-
nic/include/nic.h (modified) (1 diff)
-
nic/src/nic_driver.c (modified) (5 diffs)
-
posix/src/signal.c (modified) (1 diff)
-
usbhid/src/hiddescriptor.c (modified) (3 diffs)
-
usbhid/src/hidparser.c (modified) (4 diffs)
-
usbhid/src/hidpath.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/adt/hash_table.c
r1a37496 rf959a20f 273 273 274 274 size_t idx = h->op->hash(item) % h->bucket_cnt; 275 list_t *list = &h->bucket[idx]; 275 276 276 277 /* Traverse the circular list until we reach the starting item again. */ 277 for (link_t *cur = item->link.next; cur != &first->link; 278 cur = cur->next) { 279 assert(cur); 280 281 if (cur == &h->bucket[idx].head) 282 continue; 278 for (link_t *cur = list_next(&item->link, list); cur != &first->link; 279 cur = list_next(cur, list)) { 280 281 if (!cur) 282 cur = list_first(list); 283 283 284 284 ht_link_t *cur_link = member_to_inst(cur, ht_link_t, link); -
uspace/lib/c/generic/thread/fibril.c
r1a37496 rf959a20f 601 601 assert(timeout); 602 602 603 link_t *tmp = timeout_list.head.next; 604 while (tmp != &timeout_list.head) { 605 _timeout_t *cur = list_get_instance(tmp, _timeout_t, link); 606 607 if (ts_gteq(&cur->expires, &timeout->expires)) 608 break; 609 610 tmp = tmp->next; 611 } 612 613 list_insert_before(&timeout->link, tmp); 603 list_foreach(timeout_list, link, _timeout_t, cur) { 604 if (ts_gteq(&cur->expires, &timeout->expires)) { 605 list_insert_before(&timeout->link, &cur->link); 606 return; 607 } 608 } 609 610 list_append(&timeout->link, &timeout_list); 614 611 } 615 612 -
uspace/lib/c/include/ipc/devman.h
r1a37496 rf959a20f 108 108 static inline void add_match_id(match_id_list_t *ids, match_id_t *id) 109 109 { 110 match_id_t *mid = NULL; 111 link_t *link = ids->ids.head.next; 112 113 while (link != &ids->ids.head) { 114 mid = list_get_instance(link, match_id_t, link); 110 list_foreach(ids->ids, link, match_id_t, mid) { 115 111 if (mid->score < id->score) { 116 break; 112 list_insert_before(&id->link, &mid->link); 113 return; 117 114 } 118 link = link->next;119 115 } 120 116 121 list_ insert_before(&id->link, link);117 list_append(&id->link, &ids->ids); 122 118 } 123 119 -
uspace/lib/nic/include/nic.h
r1a37496 rf959a20f 71 71 } nic_frame_t; 72 72 73 typedef list_t nic_frame_list_t; 73 typedef union { 74 list_t list; 75 link_t link; 76 } nic_frame_list_t; 74 77 75 78 /** -
uspace/lib/nic/src/nic_driver.c
r1a37496 rf959a20f 329 329 330 330 if (nic_globals.frame_list_cache_size > 0) { 331 frames = 332 list_get_instance(list_first(&nic_globals.frame_list_cache), 333 nic_frame_list_t, head); 334 list_remove(&frames->head); 335 list_initialize(frames); 331 frames = list_pop(&nic_globals.frame_list_cache, 332 nic_frame_list_t, link); 333 assert(frames); 334 list_initialize(&frames->list); 336 335 nic_globals.frame_list_cache_size--; 337 336 fibril_mutex_unlock(&nic_globals.lock); … … 341 340 frames = malloc(sizeof (nic_frame_list_t)); 342 341 if (frames != NULL) 343 list_initialize( frames);342 list_initialize(&frames->list); 344 343 } 345 344 … … 356 355 free(frames); 357 356 } else { 358 list_prepend(&frames-> head, &nic_globals.frame_list_cache);357 list_prepend(&frames->link, &nic_globals.frame_list_cache); 359 358 nic_globals.frame_list_cache_size++; 360 359 fibril_mutex_unlock(&nic_globals.lock); … … 372 371 { 373 372 assert(frame != NULL && frames != NULL); 374 list_append(&frame->link, frames);373 list_append(&frame->link, &frames->list); 375 374 } 376 375 … … 576 575 if (frames == NULL) 577 576 return; 578 while (!list_empty(frames)) { 579 nic_frame_t *frame = 580 list_get_instance(list_first(frames), nic_frame_t, link); 581 582 list_remove(&frame->link); 577 while (!list_empty(&frames->list)) { 578 nic_frame_t *frame = list_pop(&frames->list, nic_frame_t, link); 583 579 nic_received_frame(nic_data, frame); 584 580 } -
uspace/lib/posix/src/signal.c
r1a37496 rf959a20f 383 383 static void _dequeue_unblocked_signals(void) 384 384 { 385 link_t *iterator = _signal_queue.head.next; 386 link_t *next; 387 388 while (iterator != &(_signal_queue).head) { 389 next = iterator->next; 390 385 list_foreach_safe(_signal_queue, cur_link, next_link) { 391 386 signal_queue_item *item = 392 list_get_instance( iterator, signal_queue_item, link);387 list_get_instance(cur_link, signal_queue_item, link); 393 388 394 389 if (!sigismember(&_signal_mask, item->signo) && 395 390 _signal_actions[item->signo].sa_handler != SIG_HOLD) { 396 list_remove( &(item->link));397 _raise_sigaction(item->signo, & (item->siginfo));391 list_remove(cur_link); 392 _raise_sigaction(item->signo, &item->siginfo); 398 393 free(item); 399 394 } 400 401 iterator = next;402 395 } 403 396 } -
uspace/lib/usbhid/src/hiddescriptor.c
r1a37496 rf959a20f 89 89 usb_hid_report_path_t *cmp_path) 90 90 { 91 link_t *path_it = report->collection_paths.head.next; 92 usb_hid_report_path_t *path = NULL; 93 94 if ((report == NULL) || (cmp_path == NULL)) { 91 if (report == NULL || cmp_path == NULL) 95 92 return NULL; 96 } 97 98 while (path_it != &report->collection_paths.head) { 99 path = list_get_instance(path_it, usb_hid_report_path_t, 100 cpath_link); 101 93 94 list_foreach(report->collection_paths, cpath_link, usb_hid_report_path_t, path) { 102 95 if (usb_hid_report_compare_usage_path(path, cmp_path, 103 USB_HID_PATH_COMPARE_STRICT) == 0) { 104 break; 105 } 106 path_it = path_it->next; 107 } 108 if (path_it == &report->collection_paths.head) { 109 path = usb_hid_report_path_clone(cmp_path); 110 if (path == NULL) { 111 return NULL; 112 } 113 list_append(&path->cpath_link, &report->collection_paths); 114 report->collection_paths_count++; 115 116 return path; 117 } else { 118 return list_get_instance(path_it, usb_hid_report_path_t, 119 cpath_link); 120 } 96 USB_HID_PATH_COMPARE_STRICT) == 0) 97 return path; 98 } 99 100 usb_hid_report_path_t *path = usb_hid_report_path_clone(cmp_path); 101 if (path == NULL) 102 return NULL; 103 104 list_append(&path->cpath_link, &report->collection_paths); 105 report->collection_paths_count++; 106 107 return path; 121 108 } 122 109 … … 474 461 usb_hid_report_item_t, link); 475 462 463 link_t *tmp_link = list_prev( 464 &report_item->usage_path->cpath_link, 465 &report->collection_paths); 466 assert(tmp_link); 467 476 468 usb_hid_report_usage_path_t *tmp_usage_path; 477 tmp_usage_path = list_get_instance( 478 report_item->usage_path->cpath_link.prev, 469 tmp_usage_path = list_get_instance(tmp_link, 479 470 usb_hid_report_usage_path_t, rpath_items_link); 480 471 … … 486 477 487 478 usb_hid_report_path_free(report_item->usage_path); 488 list_remove (item_link);479 list_remove(item_link); 489 480 490 481 break; -
uspace/lib/usbhid/src/hidparser.c
r1a37496 rf959a20f 493 493 494 494 if (field == NULL) { 495 field_it = report_des->report_items.head.next;496 } else { 497 field_it = field->ritems_link.next;498 } 499 500 while (field_it != &report_des->report_items.head) {495 field_it = list_first(&report_des->report_items); 496 } else { 497 field_it = list_next(&field->ritems_link, &report_des->report_items); 498 } 499 500 while (field_it != NULL) { 501 501 field = list_get_instance(field_it, usb_hid_report_field_t, 502 502 ritems_link); … … 514 514 usb_hid_report_remove_last_item(field->collection_path); 515 515 } 516 field_it = field_it->next;516 field_it = list_next(field_it, &report_des->report_items); 517 517 } 518 518 … … 547 547 return 0; 548 548 } else { 549 report_it = report_des->reports_link.next; 549 report_it = list_next(&report_des->reports_link, 550 &report->reports); 550 551 } 551 552 } else { 552 report_it = report->reports.head.next;553 } 554 555 while (report_it != &report->reports.head) {553 report_it = list_first(&report->reports); 554 } 555 556 while (report_it != NULL) { 556 557 report_des = list_get_instance(report_it, 557 558 usb_hid_report_description_t, reports_link); … … 561 562 } 562 563 563 report_it = report_it->next;564 report_it = list_next(report_it, &report->reports); 564 565 } 565 566 -
uspace/lib/usbhid/src/hidpath.c
r1a37496 rf959a20f 250 250 * Path is prefix of the report_path 251 251 */ 252 report_link = report_path->items.head.next; 253 path_link = path->items.head.next; 254 255 while ((report_link != &report_path->items.head) && 256 (path_link != &path->items.head)) { 252 report_link = list_first(&report_path->items); 253 path_link = list_first(&path->items); 254 255 while (report_link != NULL && path_link != NULL) { 257 256 258 257 report_item = list_get_instance(report_link, … … 268 267 return 1; 269 268 } else { 270 report_link = report_link->next;271 path_link = path_link->next;269 report_link = list_next(report_link, &report_path->items); 270 path_link = list_next(path_link, &path->items); 272 271 } 273 272 } 274 273 275 274 if ((((flags & USB_HID_PATH_COMPARE_BEGIN) != 0) && 276 (path_link == &path->items.head)) || 277 ((report_link == &report_path->items.head) && 278 (path_link == &path->items.head))) { 275 (path_link == NULL)) || 276 (report_link == NULL && path_link == NULL)) { 279 277 return 0; 280 278 } else { … … 287 285 * Path is suffix of report_path 288 286 */ 289 report_link = report_path->items.head.prev;290 path_link = path->items.head.prev;287 report_link = list_last(&report_path->items); 288 path_link = list_last(&path->items); 291 289 292 290 if (list_empty(&path->items)) { … … 294 292 } 295 293 296 while ((report_link != &report_path->items.head) && 297 (path_link != &path->items.head)) { 294 while (report_link != NULL && path_link != NULL) { 298 295 report_item = list_get_instance(report_link, 299 296 usb_hid_report_usage_path_t, rpath_items_link); … … 308 305 return 1; 309 306 } else { 310 report_link = report_link->prev;311 path_link = path_link->prev;307 report_link = list_prev(report_link, &report_path->items); 308 path_link = list_prev(path_link, &path->items); 312 309 } 313 310 } 314 311 315 if (path_link == &path->items.head) {312 if (path_link == NULL) { 316 313 return 0; 317 314 } else {
Note:
See TracChangeset
for help on using the changeset viewer.
