(svn r11565) -Revert: part of r11564
authorsmatz
Mon, 03 Dec 2007 22:40:18 +0000
changeset 8502 b71d49f01f5e
parent 8501 66d88113ba24
child 8503 b09fd1daea07
(svn r11565) -Revert: part of r11564
src/ai/default/default.cpp
--- a/src/ai/default/default.cpp	Mon Dec 03 09:19:19 2007 +0000
+++ b/src/ai/default/default.cpp	Mon Dec 03 22:40:18 2007 +0000
@@ -1646,18 +1646,22 @@
 				rating += _cleared_town_rating;
 			}
 		} else if (p->mode == 2) {
-			// Rail
+			/* Rail */
 			if (IsTileType(c, MP_RAILWAY)) return CMD_ERROR;
 
 			j = p->attr;
 			k = 0;
 
-			// Build the rail
-			FOR_EACH_SET_BIT(i, j) {
-				k = i;
-				ret = DoCommand(c, railtype, i, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_SINGLE_RAIL);
-				if (CmdFailed(ret)) return CMD_ERROR;
-				total_cost.AddCost(ret);
+			/* Build the rail
+			 * note: FOR_EACH_SET_BIT cannot be used here
+			 */
+			for (i = 0; i != 6; i++, j >>= 1) {
+				if (j & 1) {
+					k = i;
+					ret = DoCommand(c, railtype, i, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_SINGLE_RAIL);
+					if (CmdFailed(ret)) return CMD_ERROR;
+					total_cost.AddCost(ret);
+				}
 			}
 
 			/* signals too? */