continue;
cData->chOpts[chOpt] = str[0];
}
- if((str = database_get_data(channel, KEY_FLAGS, RECDB_QSTRING)))
+ if((str = database_get_data(obj, KEY_FLAGS, RECDB_QSTRING)))
cData->flags = atoi(str);
}
else if((str = database_get_data(channel, KEY_FLAGS, RECDB_QSTRING)))
cData->flags &= ~CHANNEL_SUSPENDED;
}
- if((cData->flags & CHANNEL_SUSPENDED) && (suspended->expires > now))
- {
- timeq_add(suspended->expires, chanserv_expire_suspension, suspended);
- }
- else
+ if(!(cData->flags & CHANNEL_SUSPENDED))
{
struct mod_chanmode change;
change.modes_set = change.modes_clear = 0;
change.args[0].member = AddChannelUser(chanserv, cNode);
mod_chanmode_announce(chanserv, cNode, &change);
}
+ else if(suspended->expires > now)
+ {
+ timeq_add(suspended->expires, chanserv_expire_suspension, suspended);
+ }
str = database_get_data(channel, KEY_REGISTERED, RECDB_QSTRING);
cData->registered = str ? (time_t)strtoul(str, NULL, 0) : now;
dict_t dict;
info = conf_get_data("services/global/nick", RECDB_QSTRING);
- if (info[0] == '.')
+ if (info && (info[0] == '.'))
info = NULL;
init_global(info);
info = conf_get_data("services/nickserv/nick", RECDB_QSTRING);
- if (info[0] == '.')
+ if (info && (info[0] == '.'))
info = NULL;
init_nickserv(info);
info = conf_get_data("services/chanserv/nick", RECDB_QSTRING);
- if (info[0] == '.')
+ if (info && (info[0] == '.'))
info = NULL;
init_chanserv(info);
}
info = conf_get_data("services/opserv/nick", RECDB_QSTRING);
- if (info[0] == '.')
+ if (info && (info[0] == '.'))
info = NULL;
init_opserv(info);
}
init_opserv(const char *nick)
{
OS_LOG = log_register_type("OpServ", "file:opserv.log");
+ if (nick)
+ opserv = AddService(nick, "Oper Services");
conf_register_reload(opserv_conf_read);
memset(level_strings, 0, sizeof(level_strings));
opserv_db_init();
saxdb_register("OpServ", opserv_saxdb_read, opserv_saxdb_write);
- if(nick)
- {
- opserv = AddService(nick, "Oper Services");
+ if (nick)
service_register(opserv, '?');
- }
reg_exit_func(opserv_db_cleanup);
message_register_table(msgtab);