Mercurial > hg
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... */