Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • irc_send.c

    rb7fec48 rc54bb11  
    4141{
    4242        irc_send_num(irc,   1, ":Welcome to the %s gateway, %s", PACKAGE, irc->user->nick);
    43         irc_send_num(irc,   2, ":Host %s is running %s %s.", irc->root->host,
    44                      PACKAGE, BITLBEE_VERSION);
     43        irc_send_num(irc,   2, ":Host %s is running %s %s %s/%s.", irc->root->host,
     44                     PACKAGE, BITLBEE_VERSION, ARCH, CPU);
    4545        irc_send_num(irc,   3, ":%s", IRCD_INFO);
    4646        irc_send_num(irc,   4, "%s %s %s %s", irc->root->host, BITLBEE_VERSION, UMODES UMODES_PRIV, CMODES);
     
    5454void irc_send_motd(irc_t *irc)
    5555{
    56         char *motd;
    57         size_t len;
    58 
    59         g_file_get_contents(global.conf->motdfile, &motd, &len, NULL);
    60 
    61         if (!motd || !len) {
     56        char motd[2048];
     57        ssize_t len;
     58        int fd;
     59
     60        fd = open(global.conf->motdfile, O_RDONLY);
     61        if (fd == -1 || (len = read(fd, motd, sizeof(motd) - 1)) <= 0) {
    6262                irc_send_num(irc, 422, ":We don't need MOTDs.");
    6363        } else {
     
    6666
    6767                in = motd;
     68                motd[len] = '\0';
    6869                linebuf[79] = len = 0;
    6970                max = sizeof(linebuf) - 1;
     
    100101        }
    101102
    102         g_free(motd);
    103 
     103        if (fd != -1) {
     104                close(fd);
     105        }
    104106}
    105107
     
    346348                }
    347349
    348                 /* If this is the account nick, check configuration to see if away */
    349                 if (iu == irc->user) {
    350                         /* rfc1459 doesn't mention this: G means gone, H means here */
    351                         status_prefix[0] = set_getstr(&irc->b->set, "away") ? 'G' : 'H';
    352                 } else {
    353                         status_prefix[0] = iu->flags & IRC_USER_AWAY ? 'G' : 'H';
    354                 }
     350                /* rfc1459 doesn't mention this: G means gone, H means here */
     351                status_prefix[0] = iu->flags & IRC_USER_AWAY ? 'G' : 'H';
    355352
    356353                irc_send_num(irc, 352, "%s %s %s %s %s %s :0 %s",
Note: See TracChangeset for help on using the changeset viewer.