diff options
Diffstat (limited to 'src/common/proto-irc.c')
-rw-r--r-- | src/common/proto-irc.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c index 34b4ece1..d8f15cb5 100644 --- a/src/common/proto-irc.c +++ b/src/common/proto-irc.c @@ -429,7 +429,7 @@ irc_raw (server *serv, char *raw) len = strlen (raw); if (len < sizeof (tbuf) - 3) { - len = snprintf (tbuf, sizeof (tbuf), "%s\r\n", raw); + len = g_snprintf (tbuf, sizeof (tbuf), "%s\r\n", raw); tcp_send_len (serv, tbuf, len); } else { @@ -590,7 +590,7 @@ process_numeric (session * sess, int n, char *tim; char outbuf[64]; - snprintf (outbuf, sizeof (outbuf), + g_snprintf (outbuf, sizeof (outbuf), "%02ld:%02ld:%02ld", idle / 3600, (idle / 60) % 60, idle % 60); if (timestamp == 0) @@ -666,7 +666,6 @@ process_numeric (session * sess, int n, EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODES, sess, word[4], word_eol[5], NULL, NULL, 0, tags_data->timestamp); fe_update_mode_buttons (sess, 'c', '-'); - fe_update_mode_buttons (sess, 'r', '-'); fe_update_mode_buttons (sess, 't', '-'); fe_update_mode_buttons (sess, 'n', '-'); fe_update_mode_buttons (sess, 'i', '-'); @@ -816,10 +815,7 @@ process_numeric (session * sess, int n, case 349: /* end of exemption list */ sess = find_channel (serv, word[4]); if (!sess) - { - sess = serv->front_session; goto def; - } if (!fe_ban_list_end (sess, 349)) goto def; break; @@ -844,10 +840,7 @@ process_numeric (session * sess, int n, case 368: sess = find_channel (serv, word[4]); if (!sess) - { - sess = serv->front_session; goto def; - } if (!fe_ban_list_end (sess, 368)) goto def; break; @@ -1355,8 +1348,8 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol /* Returns the timezone offset. This should be the same as the variable * "timezone" in time.h, but *BSD doesn't have it. */ -static int -get_timezone(void) +static time_t +get_timezone (void) { struct tm tm_utc, tm_local; time_t t, time_utc, time_local; @@ -1481,13 +1474,10 @@ irc_inline (server *serv, char *buf, int len) char *type, *text; char *word[PDIWORDS+1]; char *word_eol[PDIWORDS+1]; - char pdibuf_static[522]; /* 1 line can potentially be 512*6 in utf8 */ - char *pdibuf = pdibuf_static; + char *pdibuf; message_tags_data tags_data = MESSAGE_TAGS_DATA_INIT; - /* need more than 522? fall back to malloc */ - if (len >= sizeof (pdibuf_static)) - pdibuf = malloc (len + 1); + pdibuf = g_malloc (len + 1); sess = serv->front_session; @@ -1509,7 +1499,7 @@ irc_inline (server *serv, char *buf, int len) handle_message_tags(serv, tags, &tags_data); } - url_check_line (buf, len); + url_check_line (buf); /* split line into words and words_to_end_of_line */ process_data_init (pdibuf, buf, word, word_eol, FALSE, FALSE); @@ -1566,8 +1556,7 @@ irc_inline (server *serv, char *buf, int len) } xit: - if (pdibuf != pdibuf_static) - free (pdibuf); + g_free (pdibuf); } void |