[ekg2-commit] r4113 - in trunk/plugins: irc ncurses: trunk/plugins/irc/input.c trunk/plugins/irc/input.h trunk/plugins/irc/irc.c trunk/plugins/ncurses/old.c
SVN commit
svn w toxygen.net
Śro, 16 Lip 2008, 14:23:01 CEST
Author: darkjames
Date: 2008-07-16 14:23:00 +0200 (Wed, 16 Jul 2008)
New Revision: 4113
Modified:
trunk/plugins/irc/input.c
trunk/plugins/irc/input.h
trunk/plugins/irc/irc.c
trunk/plugins/ncurses/old.c
Log:
- format raw-irctopic to something which ncurses can understand.
Modified: trunk/plugins/irc/input.c
===================================================================
--- trunk/plugins/irc/input.c 2008-07-15 20:58:27 UTC (rev 4112)
+++ trunk/plugins/irc/input.c 2008-07-16 12:23:00 UTC (rev 4113)
@@ -77,7 +77,7 @@
return ret;
}
-char *irc_ircoldcolstr_to_ekgcolstr(session_t *sess, char *str, int strip)
+char *irc_ircoldcolstr_to_ekgcolstr_nf(session_t *sess, char *str, int strip)
{
int col, oldstrip = strip;
char mirc_sux_so_much[16] = "WkbgrypRYGcCBPKw";
@@ -85,7 +85,8 @@
char *p;
string_t s;
- if(!(str && xstrlen(str))) return xstrdup("");
+ if (!str || !(*str))
+ return xstrdup("");
s = string_init("");
if (strip)
@@ -133,12 +134,24 @@
}
if (oldstrip)
string_append(s, "%n");
- p = format_string(s->str);
- string_free(s, 1);
- return p;
+ return string_free(s, 0);
}
+char *irc_ircoldcolstr_to_ekgcolstr(session_t *sess, char *str, int strip)
+{
+ char *format;
+ char *formatted;
+ if (!str || !(*str))
+ return xstrdup("");
+
+ format = irc_ircoldcolstr_to_ekgcolstr_nf(sess, str, strip);
+ formatted = format_string(format);
+
+ xfree(format);
+ return formatted;
+}
+
/*
*
* http://www.irchelp.org/irchelp/rfc/ctcpspec.html
Modified: trunk/plugins/irc/input.h
===================================================================
--- trunk/plugins/irc/input.h 2008-07-15 20:58:27 UTC (rev 4112)
+++ trunk/plugins/irc/input.h 2008-07-16 12:23:00 UTC (rev 4113)
@@ -22,6 +22,7 @@
#include "irc.h"
char *irc_ircoldcolstr_to_ekgcolstr(session_t *s, char *str, int strip);
+char *irc_ircoldcolstr_to_ekgcolstr_nf(session_t *sess, char *str, int strip);
char *ctcp_parser(session_t *sess, int ispriv, char *sender, char *recp, char *s);
Modified: trunk/plugins/irc/irc.c
===================================================================
--- trunk/plugins/irc/irc.c 2008-07-15 20:58:27 UTC (rev 4112)
+++ trunk/plugins/irc/irc.c 2008-07-16 12:23:00 UTC (rev 4113)
@@ -1523,7 +1523,7 @@
if ((tmp = SOP(_005_CHANTYPES)) &&
xstrchr(tmp, targ[4]) &&
(chanp = irc_find_channel((j->channels), targ))) {
- *top = xstrdup(chanp->topic);
+ *top = irc_ircoldcolstr_to_ekgcolstr_nf(window_current->session, chanp->topic, 1);
*setby = xstrdup(chanp->topicby);
*modes = xstrdup(chanp->mode_str);
return 1;
Modified: trunk/plugins/ncurses/old.c
===================================================================
--- trunk/plugins/ncurses/old.c 2008-07-15 20:58:27 UTC (rev 4112)
+++ trunk/plugins/ncurses/old.c 2008-07-16 12:23:00 UTC (rev 4113)
@@ -1431,7 +1431,7 @@
len = xstrlen(data[i].name);
if (!strncmp(p, data[i].name, len) && p[len] == '}') {
- int percent_ok = (!xstrcmp(data[i].name, "activity") || !xstrcmp(data[i].name, "time")); /* XXX */
+ int percent_ok = (!xstrcmp(data[i].name, "activity") || !xstrcmp(data[i].name, "time") || !xstrcmp(data[i].name, "irctopic")); /* XXX */
char *text = data[i].text;
char *ftext = NULL;
Więcej informacji o liście dyskusyjnej ekg2-commit