# HG changeset patch # User Mikael Berthe # Date 1136638757 -3600 # Node ID de6837908702cde0831a18aecda296b87fb17a58 # Parent d7fe7b88e4fc40dffcb3f2dd292cd3cd5fe53dee Use "(...)" when cutting a multi-line status message in the log window Thanks to Salvador for suggesting... diff -r d7fe7b88e4fc -r de6837908702 mcabber/src/hooks.c --- 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", diff -r d7fe7b88e4fc -r de6837908702 mcabber/src/jabglue.c --- 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); diff -r d7fe7b88e4fc -r de6837908702 mcabber/src/utils.c --- 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... */ diff -r d7fe7b88e4fc -r de6837908702 mcabber/src/utils.h --- 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... */