Embperl
view release on metacpan or search on metacpan
/*in*/ const char * sArg) ;
static int CmdForeach (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int CmdEndforeach (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int CmdHidden (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int CmdVar (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int CmdSub (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int CmdEndsub (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlTable (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlTableHead (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlSelect (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlEndselect (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlOption (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlEndtable (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlRow (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlEndrow (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlInput (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlTextarea (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlEndtextarea (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlBody (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlA (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlIMG (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlASRC (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlForm (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlEndform (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
static int HtmlMeta (/*i/o*/ register req * r,
/*in*/ const char * sArg) ;
struct tCmd CmdTab [] =
{
/* cmdname function push pop type scan save no disable bHtml */
{ "/dir", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnDir , optDisableTableScan, 1 } ,
{ "/dl", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnDl , optDisableTableScan, 1 } ,
{ "/form", HtmlEndform, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "/menu", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnMenu , optDisableTableScan, 1 } ,
{ "/ol", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnOl , optDisableTableScan, 1 } ,
{ "/select", HtmlEndselect, 0, 1, cmdTable, 0, 0, cnSelect , optDisableSelectScan, 1 } ,
{ "/table", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnTable , optDisableTableScan, 1 } ,
{ "/textarea", HtmlEndtextarea, 0, 1, cmdTextarea, 0, 0, cnNop , optDisableInputScan, 1 } ,
{ "/tr", HtmlEndrow, 0, 1, cmdTablerow, 0, 0, cnTr , optDisableTableScan, 1 } ,
{ "/ul", HtmlEndtable, 0, 1, cmdTable, 0, 0, cnUl , optDisableTableScan, 1 } ,
{ "a", HtmlA, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "body", HtmlBody, 0, 0, cmdNorm, 1, 0, cnNop , 0 , 1 } ,
{ "dir", HtmlTable, 1, 0, cmdTable, 1, 0, cnDir , optDisableTableScan, 1 } ,
{ "dl", HtmlTable, 1, 0, cmdTable, 1, 0, cnDl , optDisableTableScan, 1 } ,
{ "do", CmdDo, 1, 0, cmdDo, 0, 0, cnNop , 0 , 0 } ,
{ "else", CmdElse, 0, 0, cmdIf, 0, 0, cnNop , 0 , 0 } ,
{ "elsif", CmdElsif, 0, 0, cmdIf, 0, 0, cnNop , 0 , 0 } ,
{ "embed", HtmlASRC, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "endforeach", CmdEndforeach, 0, 1, cmdForeach, 0, 0, cnNop , 0 , 0 } ,
{ "endif", CmdEndif, 0, 1, (enum tCmdType)(cmdIf | cmdEndif), 0, 0, cnNop , 0, 0 } ,
{ "endsub", CmdEndsub, 0, 1, cmdSub, 0, 0, cnNop , 0 , 0 } ,
{ "endwhile", CmdEndwhile, 0, 1, cmdWhile, 0, 0, cnNop , 0 , 0 } ,
{ "foreach", CmdForeach, 1, 0, cmdForeach, 0, 1, cnNop , 0 , 0 } ,
{ "form", HtmlForm, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "frame", HtmlASRC, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "hidden", CmdHidden, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 0 } ,
{ "if", CmdIf, 1, 0, (enum tCmdType)(cmdIf | cmdEndif), 0, 0, cnNop , 0, 0 } ,
{ "iframe", HtmlASRC, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "img", HtmlIMG, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "input", HtmlInput, 0, 0, cmdNorm, 1, 0, cnNop , optDisableInputScan, 1 } ,
{ "layer", HtmlASRC, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 1 } ,
{ "menu", HtmlTable, 1, 0, cmdTable, 1, 0, cnMenu , optDisableTableScan, 1 } ,
{ "meta", HtmlMeta, 0, 0, cmdNorm, 1, 0, cnNop , optDisableMetaScan , 1 } ,
{ "ol", HtmlTable, 1, 0, cmdTable, 1, 0, cnOl , optDisableTableScan, 1 } ,
{ "option", HtmlOption, 0, 0, cmdNorm, 1, 0, cnNop , optDisableInputScan, 1 } ,
{ "select", HtmlSelect, 1, 0, cmdTable, 1, 0, cnSelect , optDisableSelectScan, 1 } ,
{ "sub", CmdSub, 1, 0, cmdSub, 0, 0, cnNop , 0 , 0 } ,
{ "table", HtmlTable, 1, 0, cmdTable, 1, 0, cnTable , optDisableTableScan, 1 } ,
{ "textarea", HtmlTextarea, 1, 0, cmdTextarea, 1, 1, cnNop , optDisableInputScan, 1 } ,
{ "th", HtmlTableHead, 0, 0, cmdNorm, 1, 0, cnNop , optDisableTableScan, 1 } ,
{ "tr", HtmlRow, 1, 0, cmdTablerow, 1, 0, cnTr , optDisableTableScan, 1 } ,
{ "ul", HtmlTable, 1, 0, cmdTable, 1, 0, cnUl , optDisableTableScan, 1 } ,
{ "until", CmdUntil, 0, 1, cmdDo, 0, 0, cnNop , 0 , 0 } ,
{ "var", CmdVar, 0, 0, cmdNorm, 0, 0, cnNop , 0 , 0 } ,
{ "while", CmdWhile, 1, 0, cmdWhile, 0, 1, cnNop , 0 , 0 } ,
} ;
/* */
/* compare commands */
/* */
static int CmpCmd (/*in*/ const void * p1,
/*in*/ const void * p2)
{
return strcmp (*((const char * *)p1), *((const char * *)p2)) ;
}
/* */
/* Search Command in Commandtable */
/* */
int SearchCmd (/*i/o*/ register req * r,
/*in*/ const char * sCmdName,
/*in*/ int nCmdLen,
/*in*/ const char * sArg,
/*in*/ int bIgnore,
/*out*/ struct tCmd * * ppCmd)
{
struct tCmd * pCmd ;
char sCmdLwr [64] ;
char * p ;
int i ;
EPENTRY (SearchCmd) ;
i = sizeof (sCmdLwr) - 1 ;
p = sCmdLwr ;
while (nCmdLen-- > 0 && --i > 0)
if ((*p++ = tolower (*sCmdName++)) == '\0')
break ;
*p = '\0' ;
p = sCmdLwr ;
( run in 0.751 second using v1.01-cache-2.11-cpan-39bf76dae61 )