From e68c0f92b8990fd1a627685702fc8ed1a05df446 Mon Sep 17 00:00:00 2001
From: Sam Hocevar <sam@hocevar.net>
Date: Sat, 22 Apr 2006 19:06:59 +0000
Subject: [PATCH]   * Disabled the foreground/background optimisation in the
 IRC export because     it breaks on too many IRC clients.

---
 cucul/export.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/cucul/export.c b/cucul/export.c
index 7e9045f..c6c7eae 100644
--- a/cucul/export.c
+++ b/cucul/export.c
@@ -407,6 +407,7 @@ static void export_irc(cucul_canvas_t *cv, cucul_buffer_t *ex)
             uint8_t bg = palette[_cucul_argb32_to_ansi4bg(lineattr[x])];
             uint32_t ch = linechar[x];
 
+#if 0
             if(bg == prevbg)
             {
                 if(fg == prevfg)
@@ -430,6 +431,14 @@ static void export_irc(cucul_canvas_t *cv, cucul_buffer_t *ex)
                 if(ch >= (uint32_t)'0' && ch <= (uint32_t)'9')
                     cur += sprintf(cur, "\x02\x02");
             }
+#else
+            if(bg != prevbg || fg != prevfg)
+            {
+                cur += sprintf(cur, "\x03%d,%d", fg, bg);
+                if(ch >= (uint32_t)'0' && ch <= (uint32_t)'9')
+                    cur += sprintf(cur, "\x02\x02");
+            }
+#endif
             *cur++ = ch & 0x7f;
             prevfg = fg;
             prevbg = bg;