Changeset d628339 for root_commands.c


Ignore:
Timestamp:
2015-06-08T01:13:47Z (5 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Children:
c82a88d
Parents:
dcfa886
Message:

Don't fail config load if a protocol is supported, just remember the data.

Otherwise things will get quite annoying when an RPC plugin is temporarily
not running. (I think things will still be quite annoying this way, but let's
see.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • root_commands.c

    rdcfa886 rd628339  
    460460
    461461                for (a = irc->b->accounts; a; a = a->next) {
    462                         char *con;
     462                        char *con = NULL, *protocol = NULL;
    463463
    464464                        if (a->ic && (a->ic->flags & OPT_LOGGED_IN)) {
     
    471471                                con = "";
    472472                        }
    473 
    474                         irc_rootmsg(irc, "%2d (%s): %s, %s%s", i, a->tag, a->prpl->name, a->user, con);
     473                        if (a->prpl == &protocol_missing) {
     474                                protocol = g_strdup_printf("%s (missing!)", set_getstr(&a->set, "_protocol_name"));
     475                        } else {
     476                                protocol = g_strdup(a->prpl->name);
     477                        }
     478
     479                        irc_rootmsg(irc, "%2d (%s): %s, %s%s", i, a->tag, protocol, a->user, con);
     480                        g_free(protocol);
    475481
    476482                        i++;
     
    486492
    487493                        for (a = irc->b->accounts; a; a = a->next) {
    488                                 if (!a->ic && a->auto_connect) {
     494                                if (!a->ic && a->auto_connect && a->prpl != &protocol_missing) {
    489495                                        if (strcmp(a->pass, PASSWORD_PENDING) == 0) {
    490496                                                irc_rootmsg(irc, "Enter password for account %s "
     
    543549                        irc_rootmsg(irc, "Enter password for account %s "
    544550                                    "first (use /OPER)", a->tag);
     551                } else if (a->prpl == &protocol_missing) {
     552                        irc_rootmsg(irc, "Protocol `%s' not recognised (plugin may be missing or not running?)",
     553                                    set_getstr(&a->set, "_protocol_name"));
    545554                } else {
    546555                        account_on(irc->b, a);
Note: See TracChangeset for help on using the changeset viewer.