Tpl engine now accepts %% as an escape for %

pull/30/head
Jeroen Domburg 10 years ago
parent a5534ae96f
commit 6010c30fa6
  1. 11
      user/httpdespfs.c

@ -124,8 +124,15 @@ int ICACHE_FLASH_ATTR cgiEspFsTemplate(HttpdConnData *connData) {
} }
} else { } else {
if (buff[x]=='%') { if (buff[x]=='%') {
tpd->token[tpd->tokenPos++]=0; //zero-terminate token if (tpd->tokenPos==0) {
((TplCallback)(connData->cgiArg))(connData, tpd->token, &tpd->tplArg); //This is the second % of a %% escape string.
//Send a single % and resume with the normal program flow.
espconn_sent(connData->conn, (uint8 *)"%", 1);
} else {
//This is an actual token.
tpd->token[tpd->tokenPos++]=0; //zero-terminate token
((TplCallback)(connData->cgiArg))(connData, tpd->token, &tpd->tplArg);
}
//Go collect normal chars again. //Go collect normal chars again.
e=&buff[x+1]; e=&buff[x+1];
tpd->tokenPos=-1; tpd->tokenPos=-1;

Loading…
Cancel
Save