* add 'control context'; which will carry information from control elements into...
[citadel.git] / webcit / msg_renderers.c
index 22eace1dbd0736321b0ec8bee68fa38784c73ae6..d3b896f60e30413f2e005aead57e5ae7d4e6de2d 100644 (file)
@@ -410,25 +410,29 @@ int Conditional_ROOM_DISPLAY_MSG(StrBuf *Target, WCTemplputParams *TP) {
        wcsubst *subst;
        wcsession *WCC = WC;
   
-       GetHash(WCC->vars, HKEY("ITERATE:N"), (void *)&subst);
-       num_inset = subst->lvalue;
-       if ((num_inset >= WC->startmsg) && (WCC->num_displayed <= WCC->maxmsgs)) {
-               WCC->num_displayed = WCC->num_displayed+1;
-               return 1; /* Pass GO, collect $200 */
-       } 
+       if (GetHash(WCC->vars, HKEY("ITERATE:N"), (void *)&subst) && 
+           (subst != NULL)) {
+               num_inset = subst->lvalue;
+               if ((num_inset >= WC->startmsg) && (WCC->num_displayed <= WCC->maxmsgs)) {
+                       WCC->num_displayed = WCC->num_displayed+1;
+                       return 1; /* Pass GO, collect $200 */
+               } 
+       }
        return 0;
 }
 int Conditional_MAIL_SUMM_LASTMSG(StrBuf *Target, WCTemplputParams *TP) {
        wcsubst *nsubst;
-       long is_last_n;
+       long is_last_n = 0;
   
-       GetHash(WC->vars, HKEY("ITERATE:LASTN"), (void *)&nsubst);
-       is_last_n = nsubst->lvalue;
+       if (GetHash(WC->vars, HKEY("ITERATE:LASTN"), (void *)&nsubst) &&
+           (nsubst != NULL)) {
+               is_last_n = nsubst->lvalue;
 /*
        //GetHash(WC->vars, HKEY("ITERATE:N"), (void *)&n_dsubst);
        //num_inset = n_dsubst->lvalue;
        */
        /* Is the num_displayed higher than maxmsgs? OR last in iterator */
+       }
        return ((WC->num_displayed > WC->maxmsgs) || (is_last_n == 1));
 }
 void examine_time(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset)