changeset 655:de6837908702

Use "(...)" when cutting a multi-line status message in the log window Thanks to Salvador for suggesting...
author Mikael Berthe <mikael@lilotux.net>
date Sat, 07 Jan 2006 13:59:17 +0100
parents d7fe7b88e4fc
children 29a0637c176f
files mcabber/src/hooks.c mcabber/src/jabglue.c mcabber/src/utils.c mcabber/src/utils.h
diffstat 4 files changed, 18 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/hooks.c	Sat Jan 07 12:17:49 2006 +0100
+++ b/mcabber/src/hooks.c	Sat Jan 07 13:59:17 2006 +0100
@@ -178,7 +178,7 @@
   int st_in_buf;
   enum imstatus oldstat;
   char *bn = NULL;
-  char *logsmsg, *p;
+  char *logsmsg;
   const char *rn = (resname ? resname : "");
 
   st_in_buf = settings_opt_get_int("show_status_in_buffer");
@@ -200,8 +200,7 @@
   }
 
   logsmsg = g_strdup(status_msg ? status_msg : "");
-  if ((p = strchr(logsmsg, '\n')) != NULL)
-    *p = 0;
+  replace_nl_with_dots(logsmsg);
 
   oldstat = roster_getstatus(jid, resname);
   scr_LogPrint(LPRINT_LOGNORM, "Buddy status has changed: [%c>%c] %s %s",
--- a/mcabber/src/jabglue.c	Sat Jan 07 12:17:49 2006 +0100
+++ b/mcabber/src/jabglue.c	Sat Jan 07 13:59:17 2006 +0100
@@ -1387,8 +1387,7 @@
       if (msg_noutf8) {
         buf = g_strdup_printf("<%s> said: %s", from, msg_noutf8);
         scr_WriteIncomingMessage(r, buf, 0, HBB_PREFIX_INFO);
-        msg = strchr(buf, '\n');
-        if (msg) *msg = 0;
+        replace_nl_with_dots(buf);
         scr_LogPrint(LPRINT_LOGNORM, buf);
         g_free(buf);
         g_free(msg_noutf8);
--- a/mcabber/src/utils.c	Sat Jan 07 12:17:49 2006 +0100
+++ b/mcabber/src/utils.c	Sat Jan 07 13:59:17 2006 +0100
@@ -446,4 +446,17 @@
   g_free(arglst);
 }
 
+//  replace_nl_with_dots(bufstr)
+// Replace '\n' with "(...)" (or with a NUL if the string is too short)
+void replace_nl_with_dots(char *bufstr)
+{
+  char *p = strchr(bufstr, '\n');
+  if (p) {
+    if (strlen(p) >= 5)
+      strcpy(p, "(...)");
+    else
+      *p = 0;
+  }
+}
+
 /* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */
--- a/mcabber/src/utils.h	Sat Jan 07 12:17:49 2006 +0100
+++ b/mcabber/src/utils.h	Sat Jan 07 13:59:17 2006 +0100
@@ -27,6 +27,8 @@
 char **split_arg(const char *arg, unsigned int n, int dontstriplast);
 void free_arg_lst(char **arglst);
 
+void replace_nl_with_dots(char *bufstr);
+
 #endif
 
 /* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */