diff --git a/src/fe-common/core/fe-expandos.c b/src/fe-common/core/fe-expandos.c index c5776db1..e4646c7e 100644 --- a/src/fe-common/core/fe-expandos.c +++ b/src/fe-common/core/fe-expandos.c @@ -36,7 +36,7 @@ static char *expando_winref(SERVER_REC *server, void *item, int *free_ret) if (active_win == NULL) return ""; - *free_ret = TRUE; + *free_ret = TRUE; return g_strdup_printf("%d", active_win->refnum); } @@ -53,7 +53,8 @@ static char *expando_winname(SERVER_REC *server, void *item, int *free_ret) static int count_nick_chars(const char *str) { int count = 0; - if (!str) return 0; + if (!str) + return 0; for (const char *p = str; *p; p++) { /* Alfanumeryczne */ @@ -61,9 +62,8 @@ static int count_nick_chars(const char *str) count++; } /* Specjalne znaki nicka - zgodnie z isnickchar z fe-messages.c */ - else if (*p == '`' || *p == '-' || *p == '_' || - *p == '[' || *p == ']' || *p == '{' || *p == '}' || - *p == '|' || *p == '\\' || *p == '^') { + else if (*p == '`' || *p == '-' || *p == '_' || *p == '[' || *p == ']' || + *p == '{' || *p == '}' || *p == '|' || *p == '\\' || *p == '^') { count++; } /* Ignoruje kody kolorów %B %N %Y %n itp. */ @@ -100,8 +100,6 @@ static char *expando_nickalign(SERVER_REC *server, void *item, int *free_ret) padding = width - total_chars; } - - *free_ret = TRUE; return g_strnfill(padding, ' '); } @@ -113,8 +111,6 @@ static char *expando_nicktrunc(SERVER_REC *server, void *item, int *free_ret) const char *mode; char *result; - - /* Gdy wyłączone - zwróć oryginalny nick */ if (!settings_get_bool("nick_column_enabled")) { return current_nick ? current_nick : ""; @@ -139,12 +135,9 @@ static char *expando_nicktrunc(SERVER_REC *server, void *item, int *free_ret) /* Przytnij nick i dodaj >> */ result = g_strdup_printf("%.*s>>", available_for_nick, current_nick); - } else { /* Mode sam za długi */ result = g_strdup(">>"); - - } *free_ret = TRUE; return result; @@ -173,18 +166,14 @@ void clear_nick_context(void) void fe_expandos_init(void) { - expando_create("winref", expando_winref, - "window changed", EXPANDO_ARG_NONE, - "window refnum changed", EXPANDO_ARG_WINDOW, NULL); - expando_create("winname", expando_winname, - "window changed", EXPANDO_ARG_NONE, - "window name changed", EXPANDO_ARG_WINDOW, NULL); - expando_create("nickalign", expando_nickalign, - "message public", EXPANDO_ARG_NONE, - "message own_public", EXPANDO_ARG_NONE, NULL); - expando_create("nicktrunc", expando_nicktrunc, - "message public", EXPANDO_ARG_NONE, - "message own_public", EXPANDO_ARG_NONE, NULL); + expando_create("winref", expando_winref, "window changed", EXPANDO_ARG_NONE, + "window refnum changed", EXPANDO_ARG_WINDOW, NULL); + expando_create("winname", expando_winname, "window changed", EXPANDO_ARG_NONE, + "window name changed", EXPANDO_ARG_WINDOW, NULL); + expando_create("nickalign", expando_nickalign, "message public", EXPANDO_ARG_NONE, + "message own_public", EXPANDO_ARG_NONE, NULL); + expando_create("nicktrunc", expando_nicktrunc, "message public", EXPANDO_ARG_NONE, + "message own_public", EXPANDO_ARG_NONE, NULL); } void fe_expandos_deinit(void) diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c index 750ab0a4..5693e548 100644 --- a/src/fe-common/core/fe-messages.c +++ b/src/fe-common/core/fe-messages.c @@ -42,10 +42,9 @@ void update_nick_context(const char *nick, const char *mode); void clear_nick_context(void); #define ishighalnum(c) ((unsigned char) (c) >= 128 || i_isalnum(c)) -#define isnickchar(a) \ - (i_isalnum(a) || (a) == '`' || (a) == '-' || (a) == '_' || \ - (a) == '[' || (a) == ']' || (a) == '{' || (a) == '}' || \ - (a) == '|' || (a) == '\\' || (a) == '^') +#define isnickchar(a) \ + (i_isalnum(a) || (a) == '`' || (a) == '-' || (a) == '_' || (a) == '[' || (a) == ']' || \ + (a) == '{' || (a) == '}' || (a) == '|' || (a) == '\\' || (a) == '^') GHashTable *printnicks; @@ -58,7 +57,7 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) int pos; int emphasis_italics; - g_return_val_if_fail(text != NULL, NULL); + g_return_val_if_fail(text != NULL, NULL); emphasis_italics = settings_get_bool("emphasis_italics"); @@ -82,10 +81,10 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) that the matching end marker ends a word */ if ((pos > 0 && bgn[-1] != ' ') || !ishighalnum(bgn[1])) continue; - if ((end = strchr(bgn+1, *bgn)) == NULL) + if ((end = strchr(bgn + 1, *bgn)) == NULL) continue; - if (!ishighalnum(end[-1]) || ishighalnum(end[1]) || - end[1] == type || end[1] == '*' || end[1] == '_' || + if (!ishighalnum(end[-1]) || ishighalnum(end[1]) || end[1] == type || + end[1] == '*' || end[1] == '_' || /* special case for italics to not emphasise common paths by skipping /.../.X */ (type == 29 && i_ispunct(end[1]) && ishighalnum(end[2]))) @@ -95,15 +94,16 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) /* check that this isn't a _nick_, we don't want to use emphasis on them. */ int found; - char c; + char c; char *end2; /* check if _foo_ is a nick */ c = end[1]; - end[1] = '\0'; - found = nicklist_find(CHANNEL(item), bgn) != NULL; + end[1] = '\0'; + found = nicklist_find(CHANNEL(item), bgn) != NULL; end[1] = c; - if (found) continue; + if (found) + continue; /* check if the whole 'word' (e.g. "_foo_^") is a nick in "_foo_^ ", end will be the second _, end2 the ^ */ @@ -114,25 +114,27 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) end2[1] = '\0'; found = nicklist_find(CHANNEL(item), bgn) != NULL; end2[1] = c; - if (found) continue; + if (found) + continue; } /* allow only *word* emphasis, not *multiple words* */ if (!settings_get_bool("emphasis_multiword")) { char *c; - for (c = bgn+1; c != end; c++) { + for (c = bgn + 1; c != end; c++) { if (!ishighalnum(*c)) break; } - if (c != end) continue; + if (c != end) + continue; } if (settings_get_bool("emphasis_replace")) { *bgn = *end = type; - pos += (end-bgn); + pos += (end - bgn); } else { g_string_insert_c(str, pos, type); - pos += (end - bgn) + 2; + pos += (end - bgn) + 2; g_string_insert_c(str, pos++, type); } } @@ -143,13 +145,13 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) static char *channel_get_nickmode_rec(NICK_REC *nickrec) { - char *emptystr; + char *emptystr; char *nickmode; if (!settings_get_bool("show_nickmode")) - return g_strdup(""); + return g_strdup(""); - emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; + emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; if (nickrec == NULL || nickrec->prefixes[0] == '\0') nickmode = g_strdup(emptystr); @@ -165,13 +167,11 @@ char *channel_get_nickmode(CHANNEL_REC *channel, const char *nick) { g_return_val_if_fail(nick != NULL, NULL); - return channel_get_nickmode_rec(channel == NULL ? NULL : - nicklist_find(channel, nick)); + return channel_get_nickmode_rec(channel == NULL ? NULL : nicklist_find(channel, nick)); } -static void sig_message_public(SERVER_REC *server, const char *msg, - const char *nick, const char *address, - const char *target, NICK_REC *nickrec) +static void sig_message_public(SERVER_REC *server, const char *msg, const char *nick, + const char *address, const char *target, NICK_REC *nickrec) { CHANNEL_REC *chanrec; const char *printnick; @@ -184,18 +184,18 @@ static void sig_message_public(SERVER_REC *server, const char *msg, /WINDOW CLOSE and server still sends the few last messages */ chanrec = channel_find(server, target); if (nickrec == NULL && chanrec != NULL) - nickrec = nicklist_find(chanrec, nick); + nickrec = nicklist_find(chanrec, nick); - for_me = !settings_get_bool("hilight_nick_matches") ? FALSE : - !settings_get_bool("hilight_nick_matches_everywhere") ? - nick_match_msg(chanrec, msg, server->nick) : - nick_match_msg_everywhere(chanrec, msg, server->nick); - hilight = for_me ? NULL : - hilight_match_nick(server, target, nick, address, MSGLEVEL_PUBLIC, msg); + for_me = !settings_get_bool("hilight_nick_matches") ? + FALSE : + !settings_get_bool("hilight_nick_matches_everywhere") ? + nick_match_msg(chanrec, msg, server->nick) : + nick_match_msg_everywhere(chanrec, msg, server->nick); + hilight = + for_me ? NULL : hilight_match_nick(server, target, nick, address, MSGLEVEL_PUBLIC, msg); color = (hilight == NULL) ? NULL : hilight_get_color(hilight); - print_channel = chanrec == NULL || - !window_item_is_active((WI_ITEM_REC *) chanrec); + print_channel = chanrec == NULL || !window_item_is_active((WI_ITEM_REC *) chanrec); if (!print_channel && settings_get_bool("print_active_channel") && window_item_window((WI_ITEM_REC *) chanrec)->items->next != NULL) print_channel = TRUE; @@ -217,8 +217,7 @@ static void sig_message_public(SERVER_REC *server, const char *msg, /* get nick mode & nick what to print the msg with (in case there's multiple identical nicks) */ nickmode = channel_get_nickmode_rec(nickrec); - printnick = nickrec == NULL ? nick : - g_hash_table_lookup(printnicks, nickrec); + printnick = nickrec == NULL ? nick : g_hash_table_lookup(printnicks, nickrec); if (printnick == NULL) printnick = nick; @@ -232,24 +231,20 @@ static void sig_message_public(SERVER_REC *server, const char *msg, dest.nick = nick; if (color != NULL) { /* highlighted nick */ - hilight_update_text_dest(&dest,hilight); + hilight_update_text_dest(&dest, hilight); if (!print_channel) /* message to active channel in window */ - printformat_dest(&dest, TXT_PUBMSG_HILIGHT, color, - printnick, msg, nickmode); + printformat_dest(&dest, TXT_PUBMSG_HILIGHT, color, printnick, msg, + nickmode); else /* message to not existing/active channel */ - printformat_dest(&dest, TXT_PUBMSG_HILIGHT_CHANNEL, - color, printnick, target, msg, - nickmode); + printformat_dest(&dest, TXT_PUBMSG_HILIGHT_CHANNEL, color, printnick, + target, msg, nickmode); } else { if (!print_channel) - printformat_dest(&dest, - for_me ? TXT_PUBMSG_ME : TXT_PUBMSG, - printnick, msg, nickmode); + printformat_dest(&dest, for_me ? TXT_PUBMSG_ME : TXT_PUBMSG, printnick, msg, + nickmode); else - printformat_dest(&dest, - for_me ? TXT_PUBMSG_ME_CHANNEL : - TXT_PUBMSG_CHANNEL, - printnick, target, msg, nickmode); + printformat_dest(&dest, for_me ? TXT_PUBMSG_ME_CHANNEL : TXT_PUBMSG_CHANNEL, + printnick, target, msg, nickmode); } g_free_not_null(nickmode); @@ -257,11 +252,11 @@ static void sig_message_public(SERVER_REC *server, const char *msg, g_free_not_null(color); } -static void sig_message_private(SERVER_REC *server, const char *msg, - const char *nick, const char *address, const char *target) +static void sig_message_private(SERVER_REC *server, const char *msg, const char *nick, + const char *address, const char *target) { QUERY_REC *query; - char *freemsg = NULL; + char *freemsg = NULL; int level = MSGLEVEL_MSGS; /* own message returned by bouncer? */ @@ -276,24 +271,23 @@ static void sig_message_private(SERVER_REC *server, const char *msg, if (own) { printformat(server, target, level, - query == NULL ? TXT_OWN_MSG_PRIVATE : - TXT_OWN_MSG_PRIVATE_QUERY, target, msg, server->nick); + query == NULL ? TXT_OWN_MSG_PRIVATE : TXT_OWN_MSG_PRIVATE_QUERY, target, + msg, server->nick); } else { printformat(server, nick, level, - query == NULL ? TXT_MSG_PRIVATE : - TXT_MSG_PRIVATE_QUERY, nick, address, msg); + query == NULL ? TXT_MSG_PRIVATE : TXT_MSG_PRIVATE_QUERY, nick, address, + msg); } g_free_not_null(freemsg); } -static void sig_message_own_public(SERVER_REC *server, const char *msg, - const char *target) +static void sig_message_own_public(SERVER_REC *server, const char *msg, const char *target) { WINDOW_REC *window; CHANNEL_REC *channel; char *nickmode; - char *freemsg = NULL; + char *freemsg = NULL; int print_channel; channel = channel_find(server, target); if (channel != NULL) @@ -306,14 +300,12 @@ static void sig_message_own_public(SERVER_REC *server, const char *msg, update_nick_context(server->nick, nickmode); } - window = channel == NULL ? NULL : - window_item_window((WI_ITEM_REC *) channel); + window = channel == NULL ? NULL : window_item_window((WI_ITEM_REC *) channel); - print_channel = window == NULL || - window->active != (WI_ITEM_REC *) channel; + print_channel = window == NULL || window->active != (WI_ITEM_REC *) channel; - if (!print_channel && settings_get_bool("print_active_channel") && - window != NULL && g_slist_length(window->items) > 1) + if (!print_channel && settings_get_bool("print_active_channel") && window != NULL && + g_slist_length(window->items) > 1) print_channel = TRUE; if (settings_get_bool("emphasis")) @@ -321,21 +313,21 @@ static void sig_message_own_public(SERVER_REC *server, const char *msg, if (!print_channel) { printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, - TXT_OWN_MSG, server->nick, msg, nickmode); + TXT_OWN_MSG, server->nick, msg, nickmode); } else { printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, - TXT_OWN_MSG_CHANNEL, server->nick, target, msg, nickmode); + TXT_OWN_MSG_CHANNEL, server->nick, target, msg, nickmode); } g_free_not_null(nickmode); g_free_not_null(freemsg); } -static void sig_message_own_private(SERVER_REC *server, const char *msg, - const char *target, const char *origtarget) +static void sig_message_own_private(SERVER_REC *server, const char *msg, const char *target, + const char *origtarget) { QUERY_REC *query; - char *freemsg = NULL; + char *freemsg = NULL; g_return_if_fail(server != NULL); g_return_if_fail(msg != NULL); @@ -344,11 +336,10 @@ static void sig_message_own_private(SERVER_REC *server, const char *msg, we should display some error message. currently the special targets are only ',' and '.'. */ g_return_if_fail(g_strcmp0(origtarget, ",") == 0 || - g_strcmp0(origtarget, ".") == 0); + g_strcmp0(origtarget, ".") == 0); printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - *origtarget == ',' ? TXT_NO_MSGS_GOT : - TXT_NO_MSGS_SENT); + *origtarget == ',' ? TXT_NO_MSGS_GOT : TXT_NO_MSGS_SENT); signal_stop(); return; } @@ -358,17 +349,15 @@ static void sig_message_own_private(SERVER_REC *server, const char *msg, if (settings_get_bool("emphasis")) msg = freemsg = expand_emphasis((WI_ITEM_REC *) query, msg); - printformat(server, target, - MSGLEVEL_MSGS | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, - query == NULL ? TXT_OWN_MSG_PRIVATE : - TXT_OWN_MSG_PRIVATE_QUERY, target, msg, server->nick); + printformat(server, target, MSGLEVEL_MSGS | MSGLEVEL_NOHILIGHT | MSGLEVEL_NO_ACT, + query == NULL ? TXT_OWN_MSG_PRIVATE : TXT_OWN_MSG_PRIVATE_QUERY, target, msg, + server->nick); g_free_not_null(freemsg); } -static void sig_message_join(SERVER_REC *server, const char *channel, - const char *nick, const char *address, - const char *account, const char *realname) +static void sig_message_join(SERVER_REC *server, const char *channel, const char *nick, + const char *address, const char *account, const char *realname) { int level = MSGLEVEL_JOINS; @@ -376,37 +365,33 @@ static void sig_message_join(SERVER_REC *server, const char *channel, if (settings_get_bool("show_extended_join")) { int txt; - if (*account == '\0') txt = TXT_JOIN; - else if (g_strcmp0("*", account) == 0) txt = TXT_JOIN_EXTENDED; - else txt = TXT_JOIN_EXTENDED_ACCOUNT; - printformat(server, channel, level, - txt, nick, address, channel, account, realname); + if (*account == '\0') + txt = TXT_JOIN; + else if (g_strcmp0("*", account) == 0) + txt = TXT_JOIN_EXTENDED; + else + txt = TXT_JOIN_EXTENDED_ACCOUNT; + printformat(server, channel, level, txt, nick, address, channel, account, realname); } else { - printformat(server, channel, level, - TXT_JOIN, nick, address, channel, account, realname); + printformat(server, channel, level, TXT_JOIN, nick, address, channel, account, + realname); } } -static void sig_message_part(SERVER_REC *server, const char *channel, - const char *nick, const char *address, - const char *reason) +static void sig_message_part(SERVER_REC *server, const char *channel, const char *nick, + const char *address, const char *reason) { int level = MSGLEVEL_PARTS; ignore_check_plus(server, nick, address, channel, NULL, &level, FALSE); - printformat(server, channel, level, - TXT_PART, nick, address, channel, reason); + printformat(server, channel, level, TXT_PART, nick, address, channel, reason); } -static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, - gboolean in_query, - int base_level, - int txt, int txt_once, - const char *nick, const char *address, - const char *data, - const char *ignore_data - ) +static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, gboolean in_query, + int base_level, int txt, int txt_once, + const char *nick, const char *address, + const char *data, const char *ignore_data) { WINDOW_REC *window; GString *chans; @@ -419,7 +404,8 @@ static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, print_channel = NULL; - count = 0; windows = NULL; + count = 0; + windows = NULL; chans = g_string_new(NULL); for (tmp = server->channels; tmp != NULL; tmp = tmp->next) { CHANNEL_REC *rec; @@ -430,14 +416,13 @@ static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, continue; } - if (ignore_check_plus(server, nick, address, rec->visible_name, - ignore_data, &level, TRUE)) { + if (ignore_check_plus(server, nick, address, rec->visible_name, ignore_data, &level, + TRUE)) { count++; continue; } - if (print_channel == NULL || - active_win->active == (WI_ITEM_REC *) rec) { + if (print_channel == NULL || active_win->active == (WI_ITEM_REC *) rec) { print_channel = rec->visible_name; } @@ -447,10 +432,8 @@ static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, window = window_item_window((WI_ITEM_REC *) rec); if (g_slist_find(windows, window) == NULL) { windows = g_slist_prepend(windows, window); - printformat(server, rec->visible_name, - level, - txt, nick, address, data, - rec->visible_name); + printformat(server, rec->visible_name, level, txt, nick, address, + data, rec->visible_name); } } count++; @@ -462,38 +445,30 @@ static void spread_server_message_to_windows(SERVER_REC *server, gboolean once, display the change there too */ QUERY_REC *query = query_find(server, nick); if (query != NULL) { - printformat(server, nick, level, - txt, nick, address, data, ""); + printformat(server, nick, level, txt, nick, address, data, ""); } } if (once || count == 0) { if (chans->len > 0) { - g_string_truncate(chans, chans->len-1); + g_string_truncate(chans, chans->len - 1); } - printformat(server, print_channel, base_level, - count <= 1 ? txt : txt_once, - nick, address, data, chans->str); + printformat(server, print_channel, base_level, count <= 1 ? txt : txt_once, nick, + address, data, chans->str); } g_string_free(chans, TRUE); } -static void sig_message_host_changed(SERVER_REC *server, const char *nick, - const char *address, const char *old_address) +static void sig_message_host_changed(SERVER_REC *server, const char *nick, const char *address, + const char *old_address) { - spread_server_message_to_windows( - server, - settings_get_bool("show_quit_once"), - TRUE, - MSGLEVEL_JOINS, - TXT_HOST_CHANGED, TXT_HOST_CHANGED, - nick, address, old_address, - NULL - ); + spread_server_message_to_windows(server, settings_get_bool("show_quit_once"), TRUE, + MSGLEVEL_JOINS, TXT_HOST_CHANGED, TXT_HOST_CHANGED, nick, + address, old_address, NULL); } -static void sig_message_account_changed(SERVER_REC *server, const char *nick, - const char *address, const char *account) +static void sig_message_account_changed(SERVER_REC *server, const char *nick, const char *address, + const char *account) { gboolean logged_in; int txt; @@ -504,64 +479,46 @@ static void sig_message_account_changed(SERVER_REC *server, const char *nick, logged_in = g_strcmp0("*", account) != 0; txt = logged_in ? TXT_LOGGED_IN : TXT_LOGGED_OUT; - spread_server_message_to_windows( - server, - settings_get_bool("show_quit_once"), - TRUE, - MSGLEVEL_MODES, - txt, txt, - nick, address, account, - "account" - ); + spread_server_message_to_windows(server, settings_get_bool("show_quit_once"), TRUE, + MSGLEVEL_MODES, txt, txt, nick, address, account, + "account"); } -static void sig_message_quit(SERVER_REC *server, const char *nick, - const char *address, const char *reason) +static void sig_message_quit(SERVER_REC *server, const char *nick, const char *address, + const char *reason) { - spread_server_message_to_windows( - server, - settings_get_bool("show_quit_once"), - TRUE, - MSGLEVEL_QUITS, - TXT_QUIT, TXT_QUIT_ONCE, - nick, address, reason, - reason - ); + spread_server_message_to_windows(server, settings_get_bool("show_quit_once"), TRUE, + MSGLEVEL_QUITS, TXT_QUIT, TXT_QUIT_ONCE, nick, address, + reason, reason); } -static void sig_message_kick(SERVER_REC *server, const char *channel, - const char *nick, const char *kicker, - const char *address, const char *reason) +static void sig_message_kick(SERVER_REC *server, const char *channel, const char *nick, + const char *kicker, const char *address, const char *reason) { int level = MSGLEVEL_KICKS; ignore_check_plus(server, kicker, address, channel, reason, &level, FALSE); - printformat(server, channel, level, - TXT_KICK, nick, channel, kicker, reason, address); + printformat(server, channel, level, TXT_KICK, nick, channel, kicker, reason, address); } -static void print_nick_change_channel(SERVER_REC *server, const char *channel, - const char *newnick, const char *oldnick, - const char *address, - int ownnick) +static void print_nick_change_channel(SERVER_REC *server, const char *channel, const char *newnick, + const char *oldnick, const char *address, int ownnick) { int level; level = MSGLEVEL_NICKS; - if (ownnick) level |= MSGLEVEL_NO_ACT; - if (ignore_check_plus(server, oldnick, address, - channel, newnick, &level, TRUE)) + if (ownnick) + level |= MSGLEVEL_NO_ACT; + if (ignore_check_plus(server, oldnick, address, channel, newnick, &level, TRUE)) return; - printformat(server, channel, level, - ownnick ? TXT_YOUR_NICK_CHANGED : TXT_NICK_CHANGED, - oldnick, newnick, channel, address); + printformat(server, channel, level, ownnick ? TXT_YOUR_NICK_CHANGED : TXT_NICK_CHANGED, + oldnick, newnick, channel, address); } -static void print_nick_change(SERVER_REC *server, const char *newnick, - const char *oldnick, const char *address, - int ownnick) +static void print_nick_change(SERVER_REC *server, const char *newnick, const char *oldnick, + const char *address, int ownnick) { GSList *tmp, *windows; int msgprint; @@ -573,59 +530,55 @@ static void print_nick_change(SERVER_REC *server, const char *newnick, windows = NULL; for (tmp = server->channels; tmp != NULL; tmp = tmp->next) { CHANNEL_REC *channel = tmp->data; - WINDOW_REC *window = - window_item_window((WI_ITEM_REC *) channel); + WINDOW_REC *window = window_item_window((WI_ITEM_REC *) channel); if (nicklist_find(channel, newnick) == NULL || g_slist_find(windows, window) != NULL) continue; windows = g_slist_append(windows, window); - print_nick_change_channel(server, channel->visible_name, - newnick, oldnick, address, ownnick); + print_nick_change_channel(server, channel->visible_name, newnick, oldnick, address, + ownnick); msgprint = TRUE; } g_slist_free(windows); if (!msgprint && ownnick) { - printformat(server, NULL, MSGLEVEL_NICKS, - TXT_YOUR_NICK_CHANGED, oldnick, newnick, "", - address); + printformat(server, NULL, MSGLEVEL_NICKS, TXT_YOUR_NICK_CHANGED, oldnick, newnick, + "", address); } } -static void sig_message_nick(SERVER_REC *server, const char *newnick, - const char *oldnick, const char *address) +static void sig_message_nick(SERVER_REC *server, const char *newnick, const char *oldnick, + const char *address) { print_nick_change(server, newnick, oldnick, address, FALSE); } -static void sig_message_own_nick(SERVER_REC *server, const char *newnick, - const char *oldnick, const char *address) +static void sig_message_own_nick(SERVER_REC *server, const char *newnick, const char *oldnick, + const char *address) { - if (!settings_get_bool("show_own_nickchange_once")) + if (!settings_get_bool("show_own_nickchange_once")) print_nick_change(server, newnick, oldnick, address, TRUE); else { - printformat(server, NULL, MSGLEVEL_NICKS, - TXT_YOUR_NICK_CHANGED, oldnick, newnick, "", - address); + printformat(server, NULL, MSGLEVEL_NICKS, TXT_YOUR_NICK_CHANGED, oldnick, newnick, + "", address); } } -static void sig_message_invite(SERVER_REC *server, const char *channel, - const char *nick, const char *address) +static void sig_message_invite(SERVER_REC *server, const char *channel, const char *nick, + const char *address) { char *str; str = show_lowascii(channel); - printformat(server, NULL, MSGLEVEL_INVITES, - TXT_INVITE, nick, str, address); + printformat(server, NULL, MSGLEVEL_INVITES, TXT_INVITE, nick, str, address); g_free(str); } -static void sig_message_invite_other(SERVER_REC *server, const char *channel, - const char *invited, const char *nick, const char *address) +static void sig_message_invite_other(SERVER_REC *server, const char *channel, const char *invited, + const char *nick, const char *address) { char *str; int level = MSGLEVEL_INVITES; @@ -633,45 +586,34 @@ static void sig_message_invite_other(SERVER_REC *server, const char *channel, ignore_check_plus(server, nick, address, channel, invited, &level, FALSE); str = show_lowascii(channel); - printformat(server, channel, level, - TXT_INVITE_OTHER, invited, nick, str, address); + printformat(server, channel, level, TXT_INVITE_OTHER, invited, nick, str, address); g_free(str); } -static void sig_message_topic(SERVER_REC *server, const char *channel, - const char *topic, - const char *nick, const char *address) +static void sig_message_topic(SERVER_REC *server, const char *channel, const char *topic, + const char *nick, const char *address) { int level = MSGLEVEL_TOPICS; ignore_check_plus(server, nick, address, channel, topic, &level, FALSE); - printformat(server, channel, level, - *topic != '\0' ? TXT_NEW_TOPIC : TXT_TOPIC_UNSET, - nick, channel, topic, address); + printformat(server, channel, level, *topic != '\0' ? TXT_NEW_TOPIC : TXT_TOPIC_UNSET, nick, + channel, topic, address); } -static void sig_message_away_notify(SERVER_REC *server, const char *nick, - const char *addr, const char *awaymsg) +static void sig_message_away_notify(SERVER_REC *server, const char *nick, const char *addr, + const char *awaymsg) { - int txt = *awaymsg == '\0' ? TXT_NOTIFY_UNAWAY_CHANNEL : - TXT_NOTIFY_AWAY_CHANNEL; + int txt = *awaymsg == '\0' ? TXT_NOTIFY_UNAWAY_CHANNEL : TXT_NOTIFY_AWAY_CHANNEL; if (!settings_get_bool("away_notify_public")) return; - spread_server_message_to_windows(server, FALSE, - FALSE, - MSGLEVEL_CRAP, - txt, txt, - nick, addr, - awaymsg, - awaymsg - ); + spread_server_message_to_windows(server, FALSE, FALSE, MSGLEVEL_CRAP, txt, txt, nick, addr, + awaymsg, awaymsg); } -static int printnick_exists(NICK_REC *first, NICK_REC *ignore, - const char *nick) +static int printnick_exists(NICK_REC *first, NICK_REC *ignore, const char *nick) { char *printnick; @@ -685,14 +627,14 @@ static int printnick_exists(NICK_REC *first, NICK_REC *ignore, first = first->next; } - return FALSE; + return FALSE; } static NICK_REC *printnick_find_original(NICK_REC *nick) { while (nick != NULL) { if (g_hash_table_lookup(printnicks, nick) == NULL) - return nick; + return nick; nick = nick->next; } @@ -716,31 +658,35 @@ static void sig_nicklist_new(CHANNEL_REC *channel, NICK_REC *nick) someone else having the original nick already in use.. */ nick = printnick_find_original(firstnick->next); if (nick == NULL) - return; /* nope, we have it */ + return; /* nope, we have it */ } if (nick->host == NULL) - return; + return; /* identical nick already exists, have to change it somehow.. */ p = strchr(nick->host, '@'); - if (p == NULL) p = nick->host; else p++; + if (p == NULL) + p = nick->host; + else + p++; nickhost = g_strdup_printf("%s@%s", nick->nick, p); - p = strchr(nickhost+strlen(nick->nick), '.'); - if (p != NULL) *p = '\0'; + p = strchr(nickhost + strlen(nick->nick), '.'); + if (p != NULL) + *p = '\0'; if (!printnick_exists(firstnick, nick, nickhost)) { - /* use nick@host */ + /* use nick@host */ g_hash_table_insert(printnicks, nick, nickhost); - return; + return; } newnick = g_string_new(NULL); - n = 2; + n = 2; do { g_string_printf(newnick, "%s%d", nickhost, n); - n++; + n++; } while (printnick_exists(firstnick, nick, newnick->str)); g_hash_table_insert(printnicks, nick, g_string_free_and_steal(newnick)); @@ -753,53 +699,52 @@ static void sig_nicklist_remove(CHANNEL_REC *channel, NICK_REC *nick) nickname = g_hash_table_lookup(printnicks, nick); if (nickname != NULL) { - g_free(nickname); + g_free(nickname); g_hash_table_remove(printnicks, nick); } } static void sig_nicklist_changed(CHANNEL_REC *channel, NICK_REC *nick) { - sig_nicklist_remove(channel, nick); - sig_nicklist_new(channel, nick); + sig_nicklist_remove(channel, nick); + sig_nicklist_new(channel, nick); } static void sig_channel_joined(CHANNEL_REC *channel) { - NICK_REC *nick; + NICK_REC *nick; char *nickname; /* channel->ownnick is set at this point - check if our own nick has been changed, if it was set it back to the original nick and change the previous original to something else */ - nickname = g_hash_table_lookup(printnicks, channel->ownnick); + nickname = g_hash_table_lookup(printnicks, channel->ownnick); if (nickname == NULL) return; - g_free(nickname); + g_free(nickname); g_hash_table_remove(printnicks, channel->ownnick); - /* our own nick is guaranteed to be the first in list */ - nick = channel->ownnick->next; + /* our own nick is guaranteed to be the first in list */ + nick = channel->ownnick->next; while (nick != NULL) { if (g_hash_table_lookup(printnicks, nick) == NULL) { sig_nicklist_new(channel, nick); - break; + break; } - nick = nick->next; + nick = nick->next; } } static void i_hash_free_value(void *key, void *value) { - g_free(value); + g_free(value); } void fe_messages_init(void) { - printnicks = g_hash_table_new((GHashFunc) g_direct_hash, - (GCompareFunc) g_direct_equal); + printnicks = g_hash_table_new((GHashFunc) g_direct_hash, (GCompareFunc) g_direct_equal); settings_add_bool("lookandfeel", "hilight_nick_matches", TRUE); settings_add_bool("lookandfeel", "hilight_nick_matches_everywhere", FALSE); diff --git a/src/fe-common/core/formats.c b/src/fe-common/core/formats.c index fa458222..322248dd 100644 --- a/src/fe-common/core/formats.c +++ b/src/fe-common/core/formats.c @@ -63,8 +63,7 @@ int format_find_tag(const char *module, const char *tag) return -1; for (n = 0; formats[n].def != NULL; n++) { - if (formats[n].tag != NULL && - g_ascii_strcasecmp(formats[n].tag, tag) == 0) + if (formats[n].tag != NULL && g_ascii_strcasecmp(formats[n].tag, tag) == 0) return n; } @@ -89,22 +88,23 @@ static void format_expand_code(const char **format, GString *out, int *flags) set = TRUE; else if (**format == '-') set = FALSE; - else switch (**format) { - case 's': - case 'S': - *flags |= !set ? PRINT_FLAG_UNSET_LINE_START : - **format == 's' ? PRINT_FLAG_SET_LINE_START : - PRINT_FLAG_SET_LINE_START_IRSSI; - break; - case 't': - *flags |= set ? PRINT_FLAG_SET_TIMESTAMP : - PRINT_FLAG_UNSET_TIMESTAMP; - break; - case 'T': - *flags |= set ? PRINT_FLAG_SET_SERVERTAG : - PRINT_FLAG_UNSET_SERVERTAG; - break; - } + else + switch (**format) { + case 's': + case 'S': + *flags |= !set ? PRINT_FLAG_UNSET_LINE_START : + **format == 's' ? PRINT_FLAG_SET_LINE_START : + PRINT_FLAG_SET_LINE_START_IRSSI; + break; + case 't': + *flags |= + set ? PRINT_FLAG_SET_TIMESTAMP : PRINT_FLAG_UNSET_TIMESTAMP; + break; + case 'T': + *flags |= + set ? PRINT_FLAG_SET_SERVERTAG : PRINT_FLAG_UNSET_SERVERTAG; + break; + } (*format)++; } @@ -116,18 +116,15 @@ void format_ext_color(GString *out, int bg, int color) if (bg && color < 0x10) g_string_append_c(out, FORMAT_COLOR_NOCHANGE); if (color < 0x10) - g_string_append_c(out, color+'0'); + g_string_append_c(out, color + '0'); else { if (color < 0x60) - g_string_append_c(out, bg ? FORMAT_COLOR_EXT1_BG - : FORMAT_COLOR_EXT1); + g_string_append_c(out, bg ? FORMAT_COLOR_EXT1_BG : FORMAT_COLOR_EXT1); else if (color < 0xb0) - g_string_append_c(out, bg ? FORMAT_COLOR_EXT2_BG - : FORMAT_COLOR_EXT2); + g_string_append_c(out, bg ? FORMAT_COLOR_EXT2_BG : FORMAT_COLOR_EXT2); else - g_string_append_c(out, bg ? FORMAT_COLOR_EXT3_BG - : FORMAT_COLOR_EXT3); - g_string_append_c(out, FORMAT_COLOR_NOCHANGE + ((color-0x10)%0x50)); + g_string_append_c(out, bg ? FORMAT_COLOR_EXT3_BG : FORMAT_COLOR_EXT3); + g_string_append_c(out, FORMAT_COLOR_NOCHANGE + ((color - 0x10) % 0x50)); } if (!bg && color < 0x10) @@ -166,8 +163,7 @@ void unformat_24bit_color(char **ptr, int off, int *fgcolor, int *bgcolor, int * if (rgbx[3] & 0x1) { *bgcolor = color; *flags |= GUI_PRINT_FLAG_COLOR_24_BG; - } - else { + } else { *fgcolor = color; *flags |= GUI_PRINT_FLAG_COLOR_24_FG; } @@ -294,7 +290,7 @@ int format_expand_styles(GString *out, const char **format, int *flags) if ((*format)[1] < '0' || (*format)[1] > '7') break; - tmp = 16 + ((*format)[1]-'0'-1)*36; + tmp = 16 + ((*format)[1] - '0' - 1) * 36; if (tmp > 231) { if (!isalpha((*format)[2])) break; @@ -303,8 +299,7 @@ int format_expand_styles(GString *out, const char **format, int *flags) if (tmp > 255) break; - } - else if (tmp > 0) { + } else if (tmp > 0) { if (!isalnum((*format)[2])) break; @@ -314,8 +309,7 @@ int format_expand_styles(GString *out, const char **format, int *flags) tmp += 10 + (*format)[2] - 'A'; else tmp += (*format)[2] - '0'; - } - else { + } else { if (!isxdigit((*format)[2])) break; @@ -361,26 +355,28 @@ int format_expand_styles(GString *out, const char **format, int *flags) if (p != NULL) { g_string_append_c(out, 4); g_string_append_c(out, FORMAT_COLOR_NOCHANGE); - g_string_append_c(out, (char) ((int) (p-format_backs)+'0')); + g_string_append_c(out, (char) ((int) (p - format_backs) + '0')); break; } /* check if it's a foreground color */ - if (fmt == 'p') fmt = 'm'; + if (fmt == 'p') + fmt = 'm'; p = strchr(format_fores, fmt); if (p != NULL) { g_string_append_c(out, 4); - g_string_append_c(out, (char) ((int) (p-format_fores)+'0')); + g_string_append_c(out, (char) ((int) (p - format_fores) + '0')); g_string_append_c(out, FORMAT_COLOR_NOCHANGE); break; } /* check if it's a bold foreground color */ - if (fmt == 'P') fmt = 'M'; + if (fmt == 'P') + fmt = 'M'; p = strchr(format_boldfores, fmt); if (p != NULL) { g_string_append_c(out, 4); - g_string_append_c(out, (char) (8+(int) (p-format_boldfores)+'0')); + g_string_append_c(out, (char) (8 + (int) (p - format_boldfores) + '0')); g_string_append_c(out, FORMAT_COLOR_NOCHANGE); break; } @@ -391,9 +387,8 @@ int format_expand_styles(GString *out, const char **format, int *flags) return retval; } -void format_read_arglist(va_list va, FORMAT_REC *format, - char **arglist, int arglist_size, - char *buffer, int buffer_size) +void format_read_arglist(va_list va, FORMAT_REC *format, char **arglist, int arglist_size, + char *buffer, int buffer_size) { int num, len, bufpos; @@ -416,10 +411,9 @@ void format_read_arglist(va_list va, FORMAT_REC *format, break; } - arglist[num] = buffer+bufpos; - len = g_snprintf(buffer+bufpos, buffer_size-bufpos, - "%d", d); - bufpos += len+1; + arglist[num] = buffer + bufpos; + len = g_snprintf(buffer + bufpos, buffer_size - bufpos, "%d", d); + bufpos += len + 1; break; } case FORMAT_LONG: { @@ -430,10 +424,9 @@ void format_read_arglist(va_list va, FORMAT_REC *format, break; } - arglist[num] = buffer+bufpos; - len = g_snprintf(buffer+bufpos, buffer_size-bufpos, - "%ld", l); - bufpos += len+1; + arglist[num] = buffer + bufpos; + len = g_snprintf(buffer + bufpos, buffer_size - bufpos, "%ld", l); + bufpos += len + 1; break; } case FORMAT_FLOAT: { @@ -444,10 +437,9 @@ void format_read_arglist(va_list va, FORMAT_REC *format, break; } - arglist[num] = buffer+bufpos; - len = g_snprintf(buffer+bufpos, buffer_size-bufpos, - "%0.2f", f); - bufpos += len+1; + arglist[num] = buffer + bufpos; + len = g_snprintf(buffer + bufpos, buffer_size - bufpos, "%0.2f", f); + bufpos += len + 1; break; } } @@ -485,8 +477,7 @@ void format_create_dest_tag_meta(TEXT_DEST_REC *dest, void *server, const char * dest->server_tag = server != NULL ? SERVER(server)->tag : server_tag; dest->target = target; dest->level = level; - dest->window = window != NULL ? window : - window_find_closest(server, target, level); + dest->window = window != NULL ? window : window_find_closest(server, target, level); dest->meta = meta != NULL ? meta : global_meta; } @@ -521,10 +512,10 @@ int format_get_length(const char *str) if (*str == '%' && str[1] != '\0') { str++; if (*str != '%') { - adv = format_expand_styles(tmp, &str, NULL); - str += adv; - if (adv) - continue; + adv = format_expand_styles(tmp, &str, NULL); + str += adv; + if (adv) + continue; } /* %% or unknown %code, written as-is */ @@ -561,17 +552,17 @@ int format_real_length(const char *str, int len) if (*str == '%' && str[1] != '\0') { str++; if (*str != '%') { - adv = format_expand_styles(tmp, &str, NULL); - if (adv) { - str += adv; - continue; - } - /* discount for unknown % */ - if (--len < 0) { - str = oldstr; - break; - } - oldstr = str; + adv = format_expand_styles(tmp, &str, NULL); + if (adv) { + str += adv; + continue; + } + /* discount for unknown % */ + if (--len < 0) { + str = oldstr; + break; + } + oldstr = str; } } @@ -583,7 +574,7 @@ int format_real_length(const char *str, int len) } g_string_free(tmp, TRUE); - return (int) (str-start); + return (int) (str - start); } char *format_string_expand(const char *text, int *flags) @@ -596,7 +587,8 @@ char *format_string_expand(const char *text, int *flags) out = g_string_new(NULL); - if (flags != NULL) *flags = 0; + if (flags != NULL) + *flags = 0; code = 0; while (*text != '\0') { if (code == '%') { @@ -607,7 +599,7 @@ char *format_string_expand(const char *text, int *flags) g_string_append_c(out, '%'); g_string_append_c(out, *text); } else { - text += adv - 1; + text += adv - 1; } code = 0; } else { @@ -739,8 +731,7 @@ char *format_string_unexpand(const char *text, int flags) return g_string_free(out, FALSE); } -static char *format_get_text_args(TEXT_DEST_REC *dest, - const char *text, char **arglist) +static char *format_get_text_args(TEXT_DEST_REC *dest, const char *text, char **arglist) { GString *out; char code, *ret; @@ -767,22 +758,25 @@ static char *format_get_text_args(TEXT_DEST_REC *dest, char *ret; ret = parse_special((char **) &text, dest->server, - dest->target == NULL ? NULL : - window_item_find(dest->server, dest->target), - arglist, &need_free, NULL, 0); + dest->target == NULL ? + NULL : + window_item_find(dest->server, dest->target), + arglist, &need_free, NULL, 0); if (ret != NULL) { /* string shouldn't end with \003 or it could mess up the next one or two characters */ int diff; int len = strlen(ret); - while (len > 0 && ret[len-1] == 3) len--; - diff = strlen(ret)-len; + while (len > 0 && ret[len - 1] == 3) + len--; + diff = strlen(ret) - len; g_string_append(out, ret); if (diff > 0) - g_string_truncate(out, out->len-diff); - if (need_free) g_free(ret); + g_string_truncate(out, out->len - diff); + if (need_free) + g_free(ret); } code = 0; } else { @@ -799,8 +793,8 @@ static char *format_get_text_args(TEXT_DEST_REC *dest, return ret; } -char *format_get_text_theme(THEME_REC *theme, const char *module, - TEXT_DEST_REC *dest, int formatnum, ...) +char *format_get_text_theme(THEME_REC *theme, const char *module, TEXT_DEST_REC *dest, + int formatnum, ...) { va_list va; char *str; @@ -815,21 +809,18 @@ char *format_get_text_theme(THEME_REC *theme, const char *module, return str; } -char *format_get_text_theme_args(THEME_REC *theme, const char *module, - TEXT_DEST_REC *dest, int formatnum, - va_list va) +char *format_get_text_theme_args(THEME_REC *theme, const char *module, TEXT_DEST_REC *dest, + int formatnum, va_list va) { char *arglist[MAX_FORMAT_PARAMS]; char buffer[DEFAULT_FORMAT_ARGLIST_SIZE]; FORMAT_REC *formats; formats = g_hash_table_lookup(default_formats, module); - format_read_arglist(va, &formats[formatnum], - arglist, sizeof(arglist)/sizeof(char *), - buffer, sizeof(buffer)); + format_read_arglist(va, &formats[formatnum], arglist, sizeof(arglist) / sizeof(char *), + buffer, sizeof(buffer)); - return format_get_text_theme_charargs(theme, module, dest, - formatnum, arglist); + return format_get_text_theme_charargs(theme, module, dest, formatnum, arglist); } /* Check if format number is a message format that needs nick column */ @@ -846,20 +837,20 @@ static gboolean is_message_format(int formatnum) static int get_nick_param_for_format(int formatnum) { switch (formatnum) { - case TXT_OWN_MSG: - case TXT_OWN_MSG_CHANNEL: - case TXT_PUBMSG: - case TXT_PUBMSG_CHANNEL: - case TXT_PUBMSG_ME: - case TXT_PUBMSG_ME_CHANNEL: - return 0; /* $0 = nick */ + case TXT_OWN_MSG: + case TXT_OWN_MSG_CHANNEL: + case TXT_PUBMSG: + case TXT_PUBMSG_CHANNEL: + case TXT_PUBMSG_ME: + case TXT_PUBMSG_ME_CHANNEL: + return 0; /* $0 = nick */ - case TXT_PUBMSG_HILIGHT: - case TXT_PUBMSG_HILIGHT_CHANNEL: - return 1; /* $1 = nick (because $0 = color) */ + case TXT_PUBMSG_HILIGHT: + case TXT_PUBMSG_HILIGHT_CHANNEL: + return 1; /* $1 = nick (because $0 = color) */ - default: - return 0; /* fallback */ + default: + return 0; /* fallback */ } } @@ -871,7 +862,8 @@ static char *apply_nick_column_formatting(const char *format, int formatnum) char search_param[10], replace_param[20]; int nick_param; - if (!format) return NULL; + if (!format) + return NULL; /* Get correct parameter number for nick in this format */ nick_param = get_nick_param_for_format(formatnum); @@ -893,9 +885,8 @@ static char *apply_nick_column_formatting(const char *format, int formatnum) return result; } -char *format_get_text_theme_charargs(THEME_REC *theme, const char *module, - TEXT_DEST_REC *dest, int formatnum, - char **args) +char *format_get_text_theme_charargs(THEME_REC *theme, const char *module, TEXT_DEST_REC *dest, + int formatnum, char **args) { MODULE_THEME_REC *module_theme; char *text, *modified_text = NULL; @@ -912,17 +903,13 @@ char *format_get_text_theme_charargs(THEME_REC *theme, const char *module, /* Apply nick column formatting if enabled and this is a message format */ /* Additional protection: avoid recursion during timestamp formatting */ - if (settings_get_bool("nick_column_enabled") && - g_strcmp0(module, "fe-common/core") == 0 && - is_message_format(formatnum) && - nick_formatting_depth == 0) { /* Prevent recursion */ + if (settings_get_bool("nick_column_enabled") && g_strcmp0(module, "fe-common/core") == 0 && + is_message_format(formatnum) && nick_formatting_depth == 0) { /* Prevent recursion */ nick_formatting_depth++; modified_text = apply_nick_column_formatting(text, formatnum); text = modified_text; nick_formatting_depth--; - - } result = format_get_text_args(dest, text, args); @@ -933,9 +920,8 @@ char *format_get_text_theme_charargs(THEME_REC *theme, const char *module, return result; } -char *format_get_text(const char *module, WINDOW_REC *window, - void *server, const char *target, - int formatnum, ...) +char *format_get_text(const char *module, WINDOW_REC *window, void *server, const char *target, + int formatnum, ...) { TEXT_DEST_REC dest; THEME_REC *theme; @@ -1001,8 +987,7 @@ char *format_add_lineend(const char *text, const char *linestart) return ret; } -#define LINE_START_IRSSI_LEVEL \ - (MSGLEVEL_CLIENTERROR | MSGLEVEL_CLIENTNOTICE) +#define LINE_START_IRSSI_LEVEL (MSGLEVEL_CLIENTERROR | MSGLEVEL_CLIENTNOTICE) #define NOT_LINE_START_LEVEL \ (MSGLEVEL_NEVER | MSGLEVEL_LASTLOG | MSGLEVEL_CLIENTCRAP | MSGLEVEL_MSGS | \ @@ -1049,10 +1034,9 @@ static char *get_timestamp(THEME_REC *theme, TEXT_DEST_REC *dest, time_t t) return NULL; if ((dest->flags & PRINT_FLAG_SET_TIMESTAMP) == 0 && - (dest->level & (MSGLEVEL_NEVER|MSGLEVEL_LASTLOG)) != 0) + (dest->level & (MSGLEVEL_NEVER | MSGLEVEL_LASTLOG)) != 0) return NULL; - if (timestamp_timeout > 0) { diff = t - dest->window->last_timestamp; dest->window->last_timestamp = t; @@ -1061,8 +1045,7 @@ static char *get_timestamp(THEME_REC *theme, TEXT_DEST_REC *dest, time_t t) } tm = localtime(&t); - format = format_get_text_theme(theme, MODULE_NAME, dest, - TXT_TIMESTAMP); + format = format_get_text_theme(theme, MODULE_NAME, dest, TXT_TIMESTAMP); if (strftime(str, sizeof(str), format, tm) <= 0) str[0] = '\0'; g_free(format); @@ -1081,8 +1064,7 @@ static char *get_server_tag(THEME_REC *theme, TEXT_DEST_REC *dest) return NULL; if ((dest->flags & PRINT_FLAG_SET_SERVERTAG) == 0) { - if (dest->window->active != NULL && - dest->window->active->server == dest->server) + if (dest->window->active != NULL && dest->window->active->server == dest->server) return NULL; if (servers != NULL) { @@ -1100,8 +1082,7 @@ static char *get_server_tag(THEME_REC *theme, TEXT_DEST_REC *dest) return NULL; } - return format_get_text_theme(theme, MODULE_NAME, dest, - TXT_SERVERTAG, dest->server_tag); + return format_get_text_theme(theme, MODULE_NAME, dest, TXT_SERVERTAG, dest->server_tag); } char *format_get_line_start(THEME_REC *theme, TEXT_DEST_REC *dest, time_t t) @@ -1115,8 +1096,7 @@ char *format_get_line_start(THEME_REC *theme, TEXT_DEST_REC *dest, time_t t) if (timestamp == NULL && servertag == NULL) return NULL; - linestart = g_strconcat(timestamp != NULL ? timestamp : "", - servertag, NULL); + linestart = g_strconcat(timestamp != NULL ? timestamp : "", servertag, NULL); g_free_not_null(timestamp); g_free_not_null(servertag); @@ -1132,10 +1112,9 @@ void format_newline(TEXT_DEST_REC *dest) GINT_TO_POINTER(-1), GINT_TO_POINTER(GUI_PRINT_FLAG_NEWLINE), "", dest); } - /* parse ANSI color string */ -static const char *get_ansi_color(THEME_REC *theme, const char *str, - int *fg_ret, int *bg_ret, int *flags_ret) +static const char *get_ansi_color(THEME_REC *theme, const char *str, int *fg_ret, int *bg_ret, + int *flags_ret) { static char ansitab[8] = { 0, 4, 2, 6, 1, 5, 3, 7 }; const char *start; @@ -1153,7 +1132,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, num = 0; for (;; str++) { - if (*str == '\0') return start; + if (*str == '\0') + return start; if (i_isdigit(*str)) { if (!parse_uint(str, &endptr, 10, &num)) { @@ -1170,10 +1150,10 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, /* reset colors and attributes back to default */ fg = theme->default_color; bg = -1; - flags &= ~(GUI_PRINT_FLAG_INDENT | - GUI_PRINT_FLAG_BOLD | GUI_PRINT_FLAG_ITALIC | GUI_PRINT_FLAG_UNDERLINE | - GUI_PRINT_FLAG_BLINK | GUI_PRINT_FLAG_REVERSE | - GUI_PRINT_FLAG_COLOR_24_FG | GUI_PRINT_FLAG_COLOR_24_BG); + flags &= ~(GUI_PRINT_FLAG_INDENT | GUI_PRINT_FLAG_BOLD | + GUI_PRINT_FLAG_ITALIC | GUI_PRINT_FLAG_UNDERLINE | + GUI_PRINT_FLAG_BLINK | GUI_PRINT_FLAG_REVERSE | + GUI_PRINT_FLAG_COLOR_24_FG | GUI_PRINT_FLAG_COLOR_24_BG); break; case 1: /* hilight */ @@ -1228,7 +1208,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, case 38: case 48: /* ANSI indexed color or RGB color */ - if (*str != ';') break; + if (*str != ';') + break; str++; if (!parse_uint(str, &endptr, 10, &num2)) { @@ -1236,7 +1217,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, } str = endptr; - if (*str == '\0') return start; + if (*str == '\0') + return start; switch (num2) { case 2: @@ -1252,13 +1234,15 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, } str++; for (; i_isdigit(*str); str++) - num2 = (num2&~0xff) | - (((num2&0xff) * 10 + (*str-'0'))&0xff); + num2 = (num2 & ~0xff) | + (((num2 & 0xff) * 10 + (*str - '0')) & 0xff); - if (*str == '\0') return start; + if (*str == '\0') + return start; } - if (i == -1) break; + if (i == -1) + break; if (num == 38) { flags |= GUI_PRINT_FLAG_COLOR_24_FG; @@ -1271,7 +1255,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, break; case 5: /* indexed */ - if (*str != ';') break; + if (*str != ';') + break; str++; if (!parse_uint(str, &endptr, 10, &num2)) { @@ -1279,7 +1264,8 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, } str = endptr; - if (*str == '\0') return start; + if (*str == '\0') + return start; if (num == 38) { flags &= ~GUI_PRINT_FLAG_COLOR_24_FG; @@ -1295,25 +1281,28 @@ static const char *get_ansi_color(THEME_REC *theme, const char *str, default: if (num >= 30 && num <= 37) { flags &= ~GUI_PRINT_FLAG_COLOR_24_FG; - fg = ansitab[num-30]; + fg = ansitab[num - 30]; } else if (num >= 40 && num <= 47) { flags &= ~GUI_PRINT_FLAG_COLOR_24_BG; - bg = ansitab[num-40]; + bg = ansitab[num - 40]; } else if (num >= 90 && num <= 97) { flags &= ~GUI_PRINT_FLAG_COLOR_24_FG; - fg = 8 + ansitab[num-90]; + fg = 8 + ansitab[num - 90]; } else if (num >= 100 && num <= 107) { flags &= ~GUI_PRINT_FLAG_COLOR_24_BG; - bg = 8 + ansitab[num-100]; + bg = 8 + ansitab[num - 100]; } break; } num = 0; if (*str == 'm') { - if (fg_ret != NULL) *fg_ret = fg; - if (bg_ret != NULL) *bg_ret = bg; - if (flags_ret != NULL) *flags_ret = flags; + if (fg_ret != NULL) + *fg_ret = fg; + if (bg_ret != NULL) + *bg_ret = bg; + if (flags_ret != NULL) + *flags_ret = flags; str++; break; @@ -1337,37 +1326,38 @@ static void get_mirc_color(const char **str, int *fg_ret, int *bg_ret) bg = -1; } else { /* foreground color */ - fg = **str-'0'; + fg = **str - '0'; (*str)++; if (i_isdigit(**str)) { - fg = fg*10 + (**str-'0'); + fg = fg * 10 + (**str - '0'); (*str)++; } if ((*str)[0] == ',' && i_isdigit((*str)[1])) { /* background color */ (*str)++; - bg = **str-'0'; + bg = **str - '0'; (*str)++; if (i_isdigit(**str)) { - bg = bg*10 + (**str-'0'); + bg = bg * 10 + (**str - '0'); (*str)++; } } } - if (fg_ret) *fg_ret = fg; - if (bg_ret) *bg_ret = bg; + if (fg_ret) + *fg_ret = fg; + if (bg_ret) + *bg_ret = bg; } -#define IS_COLOR_CODE(c) \ - ((c) == 2 || (c) == 3 || (c) == 4 || (c) == 6 || (c) == 7 || \ - (c) == 15 || (c) == 17 || (c) == 22 || (c) == 27 || (c) == 29 || (c) == 31) +#define IS_COLOR_CODE(c) \ + ((c) == 2 || (c) == 3 || (c) == 4 || (c) == 6 || (c) == 7 || (c) == 15 || (c) == 17 || \ + (c) == 22 || (c) == 27 || (c) == 29 || (c) == 31) /* Return how many characters in `str' must be skipped before `len' characters of text is skipped. */ -int strip_real_length(const char *str, int len, - int *last_color_pos, int *last_color_len) +int strip_real_length(const char *str, int len, int *last_color_pos, int *last_color_len) { const char *start = str; @@ -1381,36 +1371,39 @@ int strip_real_length(const char *str, int len, const char *mircstart = str; if (last_color_pos != NULL) - *last_color_pos = (int) (str-start); + *last_color_pos = (int) (str - start); str++; get_mirc_color(&str, NULL, NULL); if (last_color_len != NULL) - *last_color_len = (int) (str-mircstart); + *last_color_len = (int) (str - mircstart); } else if (*str == 4 && str[1] != '\0') { /* We expect 4 to indicate an internal Irssi color code. However 4 * also means hex color, an alternative to mIRC color codes. We * don't support those. */ if (str[1] == FORMAT_COLOR_24 && str[2] != '\0') { - if (str[3] == '\0') str++; - else if (str[4] == '\0') str += 2; - else if (str[5] == '\0') str += 3; + if (str[3] == '\0') + str++; + else if (str[4] == '\0') + str += 2; + else if (str[5] == '\0') + str += 3; else { if (last_color_pos != NULL) - *last_color_pos = (int) (str-start); + *last_color_pos = (int) (str - start); if (last_color_len != NULL) *last_color_len = 6; - str+=4; + str += 4; } } else if (str[1] < FORMAT_STYLE_SPECIAL && str[2] != '\0') { if (last_color_pos != NULL) - *last_color_pos = (int) (str-start); + *last_color_pos = (int) (str - start); if (last_color_len != NULL) *last_color_len = 3; str++; } else if (str[1] == FORMAT_STYLE_DEFAULTS) { if (last_color_pos != NULL) - *last_color_pos = (int) (str-start); + *last_color_pos = (int) (str - start); if (last_color_len != NULL) *last_color_len = 2; } @@ -1424,7 +1417,7 @@ int strip_real_length(const char *str, int len, } } - return (int) (str-start); + return (int) (str - start); } char *strip_codes(const char *input) @@ -1452,12 +1445,16 @@ char *strip_codes(const char *input) /* irssi color */ if (p[2] != '\0') { if (p[1] == FORMAT_COLOR_24) { - if (p[3] == '\0') p += 2; - else if (p[4] == '\0') p += 3; - else if (p[5] == '\0') p += 4; - else p += 5; + if (p[3] == '\0') + p += 2; + else if (p[4] == '\0') + p += 3; + else if (p[5] == '\0') + p += 4; + else + p += 5; } else - p += 2; + p += 2; continue; } } @@ -1492,7 +1489,9 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC dup = str = g_strdup(text); - flags = 0; fgcolor = theme->default_color; bgcolor = -1; + flags = 0; + fgcolor = theme->default_color; + bgcolor = -1; if (*str == '\0') { /* empty line, write line info only */ @@ -1519,7 +1518,7 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC /* send the text to gui handler */ handler(dest->window, GINT_TO_POINTER(fgcolor), GINT_TO_POINTER(bgcolor), GINT_TO_POINTER(flags), str, dest); - flags &= ~(GUI_PRINT_FLAG_INDENT|GUI_PRINT_FLAG_CLRTOEOL); + flags &= ~(GUI_PRINT_FLAG_INDENT | GUI_PRINT_FLAG_CLRTOEOL); } if (type == '\n') { @@ -1527,14 +1526,13 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC GINT_TO_POINTER(GUI_PRINT_FLAG_NEWLINE), "", dest); fgcolor = theme->default_color; bgcolor = -1; - flags &= GUI_PRINT_FLAG_INDENT|GUI_PRINT_FLAG_MONOSPACE; + flags &= GUI_PRINT_FLAG_INDENT | GUI_PRINT_FLAG_MONOSPACE; } if (*ptr == '\0') break; - switch (type) - { + switch (type) { case 2: /* bold */ if (!hide_text_style) @@ -1542,9 +1540,8 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC break; case 3: /* MIRC color */ - get_mirc_color((const char **) &ptr, - hide_colors ? NULL : &fgcolor, - hide_colors ? NULL : &bgcolor); + get_mirc_color((const char **) &ptr, hide_colors ? NULL : &fgcolor, + hide_colors ? NULL : &bgcolor); if (!hide_colors) flags |= GUI_PRINT_FLAG_MIRC_COLOR; break; @@ -1576,7 +1573,7 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC case FORMAT_STYLE_DEFAULTS: fgcolor = theme->default_color; bgcolor = -1; - flags &= GUI_PRINT_FLAG_INDENT|GUI_PRINT_FLAG_MONOSPACE; + flags &= GUI_PRINT_FLAG_INDENT | GUI_PRINT_FLAG_MONOSPACE; break; case FORMAT_STYLE_CLRTOEOL: break; @@ -1610,7 +1607,8 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC default: if (*ptr != FORMAT_COLOR_NOCHANGE) { flags &= ~GUI_PRINT_FLAG_COLOR_24_FG; - fgcolor = *ptr==(char)0xff ? -1 : (unsigned char) *ptr-'0'; + fgcolor = + *ptr == (char) 0xff ? -1 : (unsigned char) *ptr - '0'; } if (ptr[1] == '\0') break; @@ -1618,7 +1616,7 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC ptr++; if (*ptr != FORMAT_COLOR_NOCHANGE) { flags &= ~GUI_PRINT_FLAG_COLOR_24_BG; - bgcolor = *ptr==(char)0xff ? -1 : *ptr-'0'; + bgcolor = *ptr == (char) 0xff ? -1 : *ptr - '0'; } } if (*ptr == '\0') @@ -1635,7 +1633,7 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC /* remove all styling */ fgcolor = theme->default_color; bgcolor = -1; - flags &= GUI_PRINT_FLAG_INDENT|GUI_PRINT_FLAG_MONOSPACE; + flags &= GUI_PRINT_FLAG_INDENT | GUI_PRINT_FLAG_MONOSPACE; break; case 17: if (!hide_text_style) @@ -1658,11 +1656,9 @@ void format_send_as_gui_flags(TEXT_DEST_REC *dest, const char *text, SIGNAL_FUNC break; case 27: /* ansi color code */ - ptr = (char *) - get_ansi_color(theme, ptr, - hide_colors ? NULL : &fgcolor, - hide_colors ? NULL : &bgcolor, - hide_colors ? NULL : &flags); + ptr = (char *) get_ansi_color(theme, ptr, hide_colors ? NULL : &fgcolor, + hide_colors ? NULL : &bgcolor, + hide_colors ? NULL : &flags); break; } @@ -1767,7 +1763,7 @@ static void read_settings(void) timestamp_level = settings_get_bool("timestamps") ? MSGLEVEL_ALL : 0; if (timestamp_level > 0) timestamp_level = settings_get_level("timestamp_level"); - timestamp_timeout = settings_get_time("timestamp_timeout")/1000; + timestamp_timeout = settings_get_time("timestamp_timeout") / 1000; hide_server_tags = settings_get_bool("hide_server_tags"); hide_text_style = settings_get_bool("hide_text_style");