SMTP-Queue display: wrap lines after ; so we get one line per error message.
authorWilfried Goesgens <dothebart@citadel.org>
Sun, 19 Aug 2012 15:26:34 +0000 (17:26 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Sun, 19 Aug 2012 15:26:34 +0000 (17:26 +0200)
webcit/smtpqueue.c
webcit/static/t/view_mailq/recipient.html

index fc95a0dc6e0c5073dfc52b61d52ff40d9b1fa96e..8bf02a7f60f8cb752d5aee22a2528e1fe3b74885 100644 (file)
@@ -250,6 +250,7 @@ void QItem_Handle_SenderRoom(OneQueItem *Item, StrBuf *Line, const char **Pos)
 
 void QItem_Handle_Recipient(OneQueItem *Item, StrBuf *Line, const char **Pos)
 {
+       const char *pch;
        if (Item->Current == NULL)
                NewMailQEntry(Item);
        if (Item->Current->Recipient == NULL)
@@ -257,6 +258,18 @@ void QItem_Handle_Recipient(OneQueItem *Item, StrBuf *Line, const char **Pos)
        StrBufExtract_NextToken(Item->Current->Recipient, Line, Pos, '|');
        Item->Current->Status = StrBufExtractNext_int(Line, Pos, '|');
        StrBufExtract_NextToken(Item->Current->StatusMessage, Line, Pos, '|');
+
+       pch = ChrPtr(Item->Current->StatusMessage);
+       while ((pch != NULL) && (*pch != '\0')) {
+               pch = strchr(pch, ';');
+               if (pch != NULL) {
+                       pch ++;
+                       if (*pch == ' ') {
+                               StrBufPeek(Item->Current->StatusMessage,
+                                          pch, -1, '\n');
+                       }
+               }
+       }
        Item->Current = NULL; // TODO: is this always right?
 }
 
index 62dd821850a9df7d812b29e4e24788430bb9e49d..3a0a79da2bf6fc27ca3b81e71ddadfe89565a78d 100644 (file)
@@ -1,4 +1,4 @@
 <tr >
 <td class="mailstatus_<?MAILQ:RCPT:STATUS()>"><?MAILQ:RCPT:ADDR()></td>
-<td class="mailstatus_<?MAILQ:RCPT:STATUS()>"><?MAILQ:RCPT:STATUSMSG()><td>
+<td class="mailstatus_<?MAILQ:RCPT:STATUS()>"><pre><?MAILQ:RCPT:STATUSMSG()></pre><td>
 </tr>