MCPcopy Create free account
hub / github.com/DFHack/dfhack / linkIntoWorld

Method linkIntoWorld

library/modules/Job.cpp:493–520  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

491}
492
493bool DFHack::Job::linkIntoWorld(df::job *job, bool new_id)
494{
495 using df::global::world;
496 using df::global::job_next_id;
497
498 assert(!job->list_link);
499
500 if (new_id) {
501 job->id = (*job_next_id)++;
502
503 job->list_link = new df::job_list_link();
504 job->list_link->item = job;
505 linked_list_append(&world->jobs.list, job->list_link);
506 return true;
507 } else {
508 df::job_list_link *ins_pos = &world->jobs.list;
509 while (ins_pos->next && ins_pos->next->item->id < job->id)
510 ins_pos = ins_pos->next;
511
512 if (ins_pos->next && ins_pos->next->item->id == job->id)
513 return false;
514
515 job->list_link = new df::job_list_link();
516 job->list_link->item = job;
517 linked_list_insert_after(ins_pos, job->list_link);
518 return true;
519 }
520}
521
522df::job* DFHack::Job::createLinked()
523{

Callers

nothing calls this directly

Calls 2

linked_list_appendFunction · 0.85
linked_list_insert_afterFunction · 0.85

Tested by

no test coverage detected