diff options
author | Marius Halden <marius.h@lden.org> | 2016-10-18 09:17:14 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-10-18 09:17:14 +0200 |
commit | 5f35d535f22aaf747956aafafd301442a07626a4 (patch) | |
tree | 93db10075a6308a7cc0aa11e2c820d3dd25996fc /irc_send.c | |
parent | 0ecf67ec71df1c119308d6501e6fc54df3ba10d2 (diff) | |
parent | c94e20896107533058d7eae53d5244b10edc97f6 (diff) |
Merge branch 'master' into patched-master
Diffstat (limited to 'irc_send.c')
-rw-r--r-- | irc_send.c | 16 |
1 files changed, 7 insertions, 9 deletions
@@ -53,19 +53,18 @@ void irc_send_login(irc_t *irc) void irc_send_motd(irc_t *irc) { - char motd[2048]; - ssize_t len; - int fd; + char *motd; + size_t len; - fd = open(global.conf->motdfile, O_RDONLY); - if (fd == -1 || (len = read(fd, motd, sizeof(motd) - 1)) <= 0) { + g_file_get_contents(global.conf->motdfile, &motd, &len, NULL); + + if (!motd || !len) { irc_send_num(irc, 422, ":We don't need MOTDs."); } else { char linebuf[80]; char *add = "", max, *in; in = motd; - motd[len] = '\0'; linebuf[79] = len = 0; max = sizeof(linebuf) - 1; @@ -100,9 +99,8 @@ void irc_send_motd(irc_t *irc) irc_send_num(irc, 376, ":End of MOTD"); } - if (fd != -1) { - close(fd); - } + g_free(motd); + } /* Used by some funcs that generate PRIVMSGs to figure out if we're talking to |