for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) {
if (base == *reserved) {
- definitely_add_number = true;
- if (id < 1) {
- id = 1;
+ /* Check if this reserved name already exists, and if
+ so, disallow it without a numeric suffix.
+ */
+ if (route_by_name (*reserved)) {
+ definitely_add_number = true;
+ if (id < 1) {
+ id = 1;
+ }
}
break;
}
for (vector<string>::const_iterator reserved = reserved_io_names.begin(); reserved != reserved_io_names.end(); ++reserved) {
if (name == *reserved) {
- return false;
+ if (route_by_name (*reserved)) {
+ return false;
+ } else {
+ return true;
+ }
}
}