master/slave_config.c
changeset 927 ffb7d1876ce0
parent 926 6bb33c6ec770
child 929 64de138e6a54
--- a/master/slave_config.c	Fri May 30 09:39:29 2008 +0000
+++ b/master/slave_config.c	Fri May 30 10:46:14 2008 +0000
@@ -333,28 +333,17 @@
         )
 {
 	ec_slave_t *slave;
-	unsigned int alias_found = 0, relative_position = 0;
 
 	if (sc->slave)
 		return 0; // already attached
 
-	list_for_each_entry(slave, &sc->master->slaves, list) {
-		if (!alias_found) {
-			if (sc->alias && slave->sii.alias != sc->alias)
-				continue;
-			alias_found = 1;
-			relative_position = 0;
-		}
-		if (relative_position == sc->position)
-			goto found;
-		relative_position++;
-	}
-
-	EC_WARN("Failed to find slave for configuration %u:%u.\n",
-			sc->alias, sc->position);
-	return -1;
-
-found:
+    if (!(slave = ec_master_find_slave(
+                    sc->master, sc->alias, sc->position))) {
+        EC_WARN("Failed to find slave for configuration %u:%u.\n",
+                sc->alias, sc->position);
+        return -1;
+    }
+
 	if (slave->config) {
 		EC_ERR("Failed to attach slave configuration %u:%u. Slave %u"
 				" already has a configuration!\n", sc->alias,