changeset 1568:e89787ee40f7

Fix tab expansion when using say_to -f
author Myhailo Danylenko <isbear@ukrpost.net>
date Tue, 10 Mar 2009 20:44:16 +0100
parents 48c2060845ac
children 21c553e4bfb9
files mcabber/src/utils.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/utils.c	Sat Feb 14 17:30:00 2009 +0100
+++ b/mcabber/src/utils.c	Tue Mar 10 20:44:16 2009 +0100
@@ -495,7 +495,7 @@
 // string after use.
 char *ut_expand_tabs(const char *text)
 {
-  char *xtext;
+  char *xtext, *linestart;
   char *p, *q;
   guint n = 0, bc = 0;
 
@@ -512,12 +512,14 @@
 
   xtext = g_new(char, strlen(text) + 1 + 8*n);
   p = (char*)text;
-  q = xtext;
+  q = linestart = xtext;
   do {
     if (*p == '\t') {
-      do { *q++ = ' '; } while ((q-xtext)%8);
+      do { *q++ = ' '; } while ((q-linestart)%8);
     } else if (*p != '\x0d') {
       *q++ = *p;
+      if (*p =='\n')
+        linestart = q;
     }
   } while (*p++);