X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fopserv.c;h=dc50be783788780ac0a96093ade8392854991573;hb=e266dc771078369e66c43f81f746121ab01c1972;hp=ccede743d5fb9f1ff7b6677cfd83333ee3a48ba4;hpb=91aeb5684130fc8d5322af1eca7be2e2f3d1e928;p=srvx.git diff --git a/src/opserv.c b/src/opserv.c index ccede74..dc50be7 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -79,7 +79,6 @@ #define KEY_ISSUER "issuer" #define KEY_ISSUED "issued" #define KEY_DEVNULL_CLASSES "classes" -#define KEY_DEVNULL_LASTID "devnull_id" #define KEY_DEVNULL_ID "id" #define KEY_DEVNULL_NAME "class" #define KEY_DEVNULL_MODE "modes" @@ -2825,9 +2824,11 @@ opserv_add_devnull_class(const char *name, unsigned int id, unsigned long modes, th = calloc(1, sizeof(*th)); if (!th) return; - if(id) + if(id) { th->id = id; - else + if(id >= devnull_last_id) + devnull_last_id = id+1; + } else th->id = (++devnull_last_id); th->name = strdup(name); th->modes = modes; @@ -2919,8 +2920,6 @@ opserv_saxdb_read(struct dict *conf_db) if ((str = database_get_data(object, KEY_TIME, RECDB_QSTRING))) max_clients_time = atoi(str); } - if ((str = database_get_data(object, KEY_DEVNULL_LASTID, RECDB_QSTRING))) - devnull_last_id = atoi(str); if ((object = database_get_data(conf_db, KEY_TRUSTED_HOSTS, RECDB_OBJECT))) dict_foreach(object, trusted_host_read, opserv_trusted_hosts); if ((object = database_get_data(conf_db, KEY_DEVNULL_CLASSES, RECDB_OBJECT))) @@ -3004,7 +3003,6 @@ opserv_saxdb_write(struct saxdb_context *ctx) } saxdb_end_record(ctx); } - saxdb_write_int(ctx, KEY_DEVNULL_LASTID, devnull_last_id); /* gags */ if (gagList) { struct gag_entry *gag; @@ -4312,8 +4310,7 @@ static MODCMD_FUNC(cmd_listdevnull) tbl.contents[0][12] = "+X"; tbl.contents[0][13] = "MaxQ"; tbl.contents[0][14] = "OpMe"; - if(!count) - { + if(!count) { table_send(cmd->parent->bot, user->nick, 0, NULL, tbl); reply("MSG_NONE"); free(tbl.contents[0]); @@ -4351,45 +4348,47 @@ static MODCMD_FUNC(cmd_listdevnull) } else { tbl.contents[ii][5] = off; } - if(DEVNULL_HAS_PRIV(th, CHSERVMODE)) { + if(DEVNULL_HAS_PRIV(th, SEEIDLE)) { tbl.contents[ii][6] = on; } else { tbl.contents[ii][6] = off; } - if(DEVNULL_HAS_PRIV(th, XTRAOPMODE)) { + if(DEVNULL_HAS_PRIV(th, FORCEIDLEHIDE)) { tbl.contents[ii][7] = on; } else { tbl.contents[ii][7] = off; } - if(DEVNULL_HAS_PRIV(th, NETSERVMODE)) { + if(DEVNULL_HAS_PRIV(th, OVERRIDECC)) { tbl.contents[ii][8] = on; } else { tbl.contents[ii][8] = off; } - if(DEVNULL_HAS_PRIV(th, SEEIDLE)) { + if(DEVNULL_HAS_PRIV(th, OVERRIDENOAMSG)) { tbl.contents[ii][9] = on; } else { tbl.contents[ii][9] = off; } - if(DEVNULL_HAS_PRIV(th, FORCEIDLEHIDE)) { + if(DEVNULL_HAS_PRIV(th, CHSERVMODE)) { tbl.contents[ii][10] = on; } else { tbl.contents[ii][10] = off; } - if(DEVNULL_HAS_PRIV(th, OVERRIDECC)) { + if(DEVNULL_HAS_PRIV(th, NETSERVMODE)) { tbl.contents[ii][11] = on; } else { tbl.contents[ii][11] = off; } - if(DEVNULL_HAS_PRIV(th, OVERRIDENOAMSG)) { + if(DEVNULL_HAS_PRIV(th, XTRAOPMODE)) { tbl.contents[ii][12] = on; } else { tbl.contents[ii][12] = off; } if(DEVNULL_HAS_PRIV(th, MAXSENDQ)) { - tbl.contents[ii][13] = on; + char maxsenqbuf[MAXLEN]; + sprintf(maxsenqbuf, "%lu", th->maxsendq); + tbl.contents[ii][13] = strdup(maxsenqbuf); } else { - tbl.contents[ii][13] = off; + tbl.contents[ii][13] = strdup(off); } if(DEVNULL_HAS_PRIV(th, OPME)) { tbl.contents[ii][14] = on; @@ -4398,8 +4397,8 @@ static MODCMD_FUNC(cmd_listdevnull) } } table_send(cmd->parent->bot, user->nick, 0, NULL, tbl); - for(ii = 1; ii < tbl.length; ++ii) - { + for(ii = 1; ii < tbl.length; ++ii) { + free(tbl.contents[ii][13]); free(tbl.contents[ii]); } free(tbl.contents[0]); @@ -4444,7 +4443,7 @@ static MODCMD_FUNC(cmd_adddevnull) return 0; } - opserv_add_devnull_class(argv[1], (++devnull_last_id), 0, 0, 0); + opserv_add_devnull_class(argv[1], 0, 0, 0, 0); reply("OSMSG_DEVNULL_ADDED",argv[1]); return 1; }