* CLI: 'region default ...' now auto-creates the region
This commit is contained in:
@@ -952,13 +952,17 @@ void CommonCLI::handleRegionCmd(char* command, char* reply) {
|
|||||||
sprintf(reply, " default scope is now <null>");
|
sprintf(reply, " default scope is now <null>");
|
||||||
} else {
|
} else {
|
||||||
auto def = _region_map->findByNamePrefix(parts[2]);
|
auto def = _region_map->findByNamePrefix(parts[2]);
|
||||||
|
if (def == NULL) {
|
||||||
|
def = _region_map->putRegion(parts[2], 0); // auto-create the default region
|
||||||
|
}
|
||||||
if (def) {
|
if (def) {
|
||||||
|
def->flags = 0; // make sure allow flood enabled
|
||||||
_region_map->setDefaultRegion(def);
|
_region_map->setDefaultRegion(def);
|
||||||
_callbacks->onDefaultRegionChanged(def);
|
_callbacks->onDefaultRegionChanged(def);
|
||||||
_callbacks->saveRegions(); // persist in one atomic step
|
_callbacks->saveRegions(); // persist in one atomic step
|
||||||
sprintf(reply, " default scope is now %s", def->name);
|
sprintf(reply, " default scope is now %s", def->name);
|
||||||
} else {
|
} else {
|
||||||
strcpy(reply, "Err - unknown region");
|
strcpy(reply, "Err - region table full");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (n == 2 && strcmp(parts[1], "default") == 0) {
|
} else if (n == 2 && strcmp(parts[1], "default") == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user