Remove whitespace at end of canonicalized header lines
[citadel.git] / webcit / roomlist.c
index 2b282ff727631fcfc5b4a4e6d4a567adb0c71965..ccd54e07484411e852f0edccb3abf4c7fd05970c 100644 (file)
@@ -3,7 +3,7 @@
  */
 
 #include "webcit.h"
-#include "webserver.h"
+
 
 typedef enum __eRoomParamType {
        eNotSet,
@@ -427,6 +427,7 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP)
        HashList *Domains;
        StrBuf *Line;
        StrBuf *Token;
+       StrBuf *RoomName;
        HashList *PossibleAliases = NULL;
        
        const char *pComma;
@@ -439,14 +440,21 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP)
        Domains = GetValidDomainNames(Target, TP);
        if (Domains == NULL)
                return NULL;
+       if (GetCount(Domains) == 0) {
+               DeleteHash(&Domains);
+               return NULL;
+       }
        PossibleAliases = NewHash(1, NULL);
        Line = NewStrBuf();
+       RoomName = NewStrBufDup(WCC->CurRoom.name);
+       StrBufAsciify(RoomName, '_');
+       StrBufReplaceChars(RoomName, ' ', '_');
 
        AppendPossibleAliasWithDomain(PossibleAliases,
                                      &n,
                                      Domains,
                                      HKEY("room_"),
-                                     SKEY(WCC->CurRoom.name));
+                                     SKEY(RoomName));
 
 
        serv_puts("GNET "FILE_MAILALIAS);
@@ -500,9 +508,9 @@ HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP)
        }
        else if (State == 550)
                AppendImportantMessage(_("Higher access is required to access this function."), -1);
-
+       DeleteHash(&Domains);
        FreeStrBuf(&Line);
-
+       FreeStrBuf(&RoomName);
        return PossibleAliases;
 }
 
@@ -943,8 +951,8 @@ InitModule_ROOMLIST
 
        RegisterIterator("ITERATE:THISROOM:WHO_KNOWS", 0, NULL, GetWhoKnowsHash, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
        RegisterIterator("ITERATE:THISROOM:GNET", 1, NULL, GetNetConfigHash, NULL, NULL, CTX_STRBUFARR, CTX_NONE, IT_NOFLAG);
-       RegisterIterator("ITERATE:THISROOM:MALIAS", 1, NULL, GetThisRoomMAlias, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
-       RegisterIterator("ITERATE:THISROOM:POSSIBLE:MALIAS", 1, NULL, GetThisRoomPossibleMAlias, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
+       RegisterIterator("ITERATE:THISROOM:MALIAS", 1, NULL, GetThisRoomMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
+       RegisterIterator("ITERATE:THISROOM:POSSIBLE:MALIAS", 1, NULL, GetThisRoomPossibleMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG);
 
        RegisterIterator("LFLR", 0, NULL, GetFloorListHash, NULL, NULL, CTX_FLOORS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
        RegisterIterator("LKRA", 0, NULL, GetRoomListHashLKRA, NULL, NULL, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);