Ensure that the correct job posting is kept (if there is one)

develop
lethosor 2015-11-25 23:35:19 -05:00
parent 428a0a4cfe
commit 2700b01765
1 changed files with 9 additions and 16 deletions

@ -436,24 +436,17 @@ static int fix_job_postings (color_ostream *out, bool dry_run)
df::job *job = link->item; df::job *job = link->item;
if (job) if (job)
{ {
bool needs_posting = (job->posting_index >= 0); for (size_t i = 0; i < world->job_postings.size(); ++i)
bool found_posting = false;
for (auto it = world->job_postings.begin(); it != world->job_postings.end(); ++it)
{ {
df::world::T_job_postings *posting = *it; df::world::T_job_postings *posting = world->job_postings[i];
if (posting->job == job && !posting->flags.bits.dead) if (posting->job == job && i != job->posting_index)
{ {
if (!found_posting && needs_posting) ++count;
found_posting = true; if (out)
else *out << "Found extra job posting: Job " << job->id << ": "
{ << Job::getName(job) << endl;
++count; if (!dry_run)
if (*out) posting->flags.bits.dead = true;
*out << "Found extra job posting: Job " << job->id << ": "
<< Job::getName(job) << endl;
if (!dry_run)
posting->flags.bits.dead = true;
}
} }
} }
} }