- reply("OSMSG_ROUTINGPLAN_LIST");
- reply("OSMSG_ROUTINGPLAN_BAR");
- for(rpit = dict_first(opserv_routing_plans); rpit; rpit = iter_next(rpit)) {
- const char* name = iter_key(rpit);
- rp = iter_data(rpit);
- reply("OSMSG_ROUTINGPLAN_NAME", name);
- for(it = dict_first(rp->servers); it; it = iter_next(it)) {
- const char* servername = iter_key(it);
- struct routingPlanServer *rps = iter_data(it);
- reply("OSMSG_ROUTINGPLAN_SERVER", servername, rps->port, rps->uplink, rps->karma, rps->offline? "offline" : "online", rps->secondaryuplink ? rps->secondaryuplink : "None");
- }
+ if(argc > 1) {
+ reply("OSMSG_ROUTINGPLAN");
+ reply("OSMSG_ROUTINGPLAN_BAR");
+ for(rpit = dict_first(opserv_routing_plans); rpit; rpit = iter_next(rpit)) {
+ const char* name = iter_key(rpit);
+ rp = iter_data(rpit);
+ if(match_ircglob(name, argv[1])) {
+ reply("OSMSG_ROUTINGPLAN_NAME", name);
+ for(it = dict_first(rp->servers); it; it = iter_next(it)) {
+ const char* servername = iter_key(it);
+ struct routingPlanServer *rps = iter_data(it);
+ reply("OSMSG_ROUTINGPLAN_SERVER", servername, rps->port, rps->uplink, rps->karma, rps->offline? "offline" : "online", rps->secondaryuplink ? rps->secondaryuplink : "None");
+ }
+ }