Merge remote branch 'upstream/master'
[srvx.git] / src / modcmd.c
index e36e536301ed9aa42501e533e148196d42e15553..290d75c75c79ee09c3539f683c53d888f2bb8cef 100644 (file)
@@ -995,9 +995,10 @@ check_alias_args(char *argv[], unsigned int argc) {
             continue;
         } else if (isdigit(argv[arg][1])) {
             char *end_num;
-            unsigned long tmp;
+            unsigned int tmp;
 
             tmp = strtoul(argv[arg]+1, &end_num, 10);
+            (void)tmp;
             switch (end_num[0]) {
             case 0:
                 continue;
@@ -1586,7 +1587,7 @@ static MODCMD_FUNC(cmd_stats_services) {
             service = iter_data(it);
             tbl.contents[ii] = calloc(tbl.width, sizeof(tbl.contents[ii][0]));
             tbl.contents[ii][0] = service->bot->nick;
-            tbl.contents[ii][1] = strtab(dict_size(service->commands));
+            tbl.contents[ii][1] = (service->commands && dict_size(service->commands) ? strtab(dict_size(service->commands)) : strtab(0));
             tbl.contents[ii][2] = service->privileged ? "yes" : "no";
             extra[ii*2] = service->trigger;
             tbl.contents[ii][3] = extra+ii*2;
@@ -2417,6 +2418,8 @@ create_default_binds(void) {
             struct svccmd *svccmd;
             svccmd = service_make_alias(service, "stats", "*modcmd.joiner", NULL);
             svccmd->min_opserv_level = 101;
+            svccmd = service_make_alias(service, "devnull", "*modcmd.joiner", NULL);
+            svccmd->min_opserv_level = 200;
             svccmd = service_make_alias(service, "service", "*modcmd.joiner", NULL);
             svccmd->min_opserv_level = 900;
         }