(svn r12299) [NoAI] -Fix: don't assume any length of produced_cargo and accepts_cargo
--- a/src/ai/api/ai_industry.cpp Wed Feb 27 23:06:43 2008 +0000
+++ b/src/ai/api/ai_industry.cpp Wed Feb 27 23:15:46 2008 +0000
@@ -43,8 +43,9 @@
const Industry *i = ::GetIndustry(industry_id);
const IndustrySpec *indsp = ::GetIndustrySpec(i->type);
- if (indsp->produced_cargo[0] == cargo_id) return i->production_rate[0];
- if (indsp->produced_cargo[1] == cargo_id) return i->production_rate[1];
+ for (byte j = 0; j < lengthof(indsp->produced_cargo); j++)
+ if (indsp->produced_cargo[j] == cargo_id) return i->production_rate[j];
+
return -1;
}
@@ -56,9 +57,8 @@
const Industry *i = ::GetIndustry(industry_id);
const IndustrySpec *indsp = ::GetIndustrySpec(i->type);
- if (indsp->accepts_cargo[0] == cargo_id) return true;
- if (indsp->accepts_cargo[1] == cargo_id) return true;
- if (indsp->accepts_cargo[2] == cargo_id) return true;
+ for (byte j = 0; j < lengthof(indsp->accepts_cargo); j++)
+ if (indsp->accepts_cargo[j] == cargo_id) return true;
return false;
}