* bust the other places still accessing token values directly:
[citadel.git] / webcit / siteconfig.c
index 1516e904463e7a71409b7a29eb5874de66aba4a0..e024424ac2c20fc3b9ee9b9b28246bd3bc370b68 100644 (file)
@@ -333,9 +333,19 @@ int ConditionalServCfg(StrBuf *Target, WCTemplputParams *TP)
                if (TP->Tokens->nParameters == 3) {
                        return 1;
                }
-               else if (TP->Tokens->Params[3]->Type == TYPE_STR)
-                       return (strcmp(TP->Tokens->Params[3]->Start, ChrPtr(Buf)) == 0);
-               else return (StrTol(Buf) == TP->Tokens->Params[3]->lvalue);
+               else if (IS_NUMBER(TP->Tokens->Params[3]->Type))
+                       return (StrTol(Buf) == GetTemplateTokenNumber (Target, TP, 3, 0));
+               else
+               {
+                       const char *pch;
+                       long len;
+                       
+                       GetTemplateTokenString(Target, TP, 3, &pch, &len);
+               
+                       return ((len == StrLength(Buf)) &&
+                               (strcmp(pch, ChrPtr(Buf)) == 0));
+               }
+
        }
        else return 0;
 }