changeset 11273:00abcbbc0f1c draft

(svn r15622) -Codechange: Duplication.
author peter1138 <peter1138@openttd.org>
date Thu, 05 Mar 2009 17:52:35 +0000
parents f439ba87f847
children e9f928943b3f
files src/vehicle.cpp
diffstat 1 files changed, 17 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1171,6 +1171,21 @@
 	return cost;
 }
 
+/** Test if a name is unique among vehicle names.
+ * @param name Name to test.
+ * @return True ifffffff the name is unique.
+ */
+static bool IsUniqueVehicleName(const char *name)
+{
+	const Vehicle *v;
+
+	FOR_ALL_VEHICLES(v) {
+		if (v->name != NULL && strcmp(v->name, name) == 0) return false;
+	}
+
+	return true;
+}
+
 /** Clone the custom name of a vehicle, adding or incrementing a number.
  * @param src Source vehicle, with a custom name.
  * @param dst Destination vehicle.
@@ -1206,21 +1221,9 @@
 	for (int max_iterations = 1000; max_iterations > 0; max_iterations--, num++) {
 		/* Attach the number to the temporary name. */
 		seprintf(&buf[number_position], lastof(buf), "%d", num);
-		bool dup = false;
 
-		/* Check name against all other vehicles for this company. */
-		const Vehicle *v;
-		FOR_ALL_VEHICLES(v) {
-			if (v->owner == src->owner && v->name != NULL) {
-				if (strcmp(buf, v->name) == 0) {
-					dup = true;
-					break;
-				}
-			}
-		}
-
-		if (!dup) {
-			/* Name is not a duplicate, so assign it. */
+		/* Check the name is unique. */
+		if (IsUniqueVehicleName(buf)) {
 			dst->name = strdup(buf);
 			break;
 		}
@@ -1572,17 +1575,6 @@
 	}
 }
 
-static bool IsUniqueVehicleName(const char *name)
-{
-	const Vehicle *v;
-
-	FOR_ALL_VEHICLES(v) {
-		if (v->name != NULL && strcmp(v->name, name) == 0) return false;
-	}
-
-	return true;
-}
-
 /** Give a custom name to your vehicle
  * @param tile unused
  * @param flags type of operation