From 45761c6f4957a62861665a9a52e917d3ceb7f6f6 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Mon, 9 Feb 2015 14:00:35 +0100 Subject: [PATCH] As sugested by Robotamer: append the view parameter to the link. --- webcit/msg_renderers.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/webcit/msg_renderers.c b/webcit/msg_renderers.c index 408bc97d4..516041eab 100644 --- a/webcit/msg_renderers.c +++ b/webcit/msg_renderers.c @@ -926,12 +926,20 @@ void tmplput_MAIL_SUMM_N(StrBuf *Target, WCTemplputParams *TP) void tmplput_MAIL_SUMM_PERMALINK(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); - char perma_link[1024]; - - strcpy(perma_link, "/readfwd?go="); - urlesc(&perma_link[12], sizeof(perma_link) - 12, (char *)ChrPtr(WC->CurRoom.name) ); - sprintf(&perma_link[strlen(perma_link)], "?start_reading_at=%ld#%ld", Msg->msgnum, Msg->msgnum); - StrBufAppendPrintf(Target, "%s", perma_link); + StrBuf *perma_link; + const StrBuf *View; + + perma_link = NewStrBufPlain(HKEY("/readfwd?go=")); + StrBufUrlescAppend(perma_link, WC->CurRoom.name, NULL); + View = SBSTR("view"); + if (View != NULL) { + StrBufAppendBufPlain(perma_link, HKEY("?view="), 0); + StrBufAppendBuf(perma_link, View, 0); + } + StrBufAppendBufPlain(perma_link, HKEY("?start_reading_at="), 0); + StrBufAppendPrintf(perma_link, "%ld#%ld", Msg->msgnum, Msg->msgnum); + StrBufAppendBuf(Target, perma_link, 0); + FreeStrBuf(&perma_link); } -- 2.30.2