ARSperl
view release on metacpan or search on metacpan
supportrev_generated.c view on Meta::CPAN
if( hv_exists(h,k,strlen(k)) ){
val = hv_fetch( h, k, strlen(k), 0 );
if( val && *val ){
{
{
char *pcase = NULL;
char errText[512];
HV *h;
SV **hval = NULL;
char *k = NULL;
if( SvTYPE(SvRV(*val)) != SVt_PVHV ){
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: not a hash value" );
return -1;
}
h = (HV* ) SvRV((SV*) *val);
if( 0 ){
}else if( hv_exists(h,"gotoAction",10) ){
p->action = AR_FILTER_ACTION_GOTOACTION;
k = "gotoAction";
}else if( hv_exists(h,"gotoGuide",9) ){
p->action = AR_FILTER_ACTION_GOTOGUIDELABEL;
k = "gotoGuide";
}else if( hv_exists(h,"notify",6) ){
p->action = AR_FILTER_ACTION_NOTIFY;
k = "notify";
#if AR_CURRENT_API_VERSION <= 9
}else if( hv_exists(h,"assign_fields",13) ){
p->action = AR_FILTER_ACTION_FIELDS;
k = "assign_fields";
#endif
}else if( hv_exists(h,"log",3) ){
p->action = AR_FILTER_ACTION_LOG;
k = "log";
}else if( hv_exists(h,"message",7) ){
p->action = AR_FILTER_ACTION_MESSAGE;
k = "message";
#if AR_CURRENT_API_VERSION >= 10
}else if( hv_exists(h,"fieldp",6) ){
p->action = AR_FILTER_ACTION_FIELDP;
k = "fieldp";
#endif
}else if( hv_exists(h,"exitGuide",9) ){
p->action = AR_FILTER_ACTION_EXITGUIDE;
k = "exitGuide";
}else if( hv_exists(h,"process",7) ){
p->action = AR_FILTER_ACTION_PROCESS;
k = "process";
}else if( hv_exists(h,"callGuide",9) ){
p->action = AR_FILTER_ACTION_CALLGUIDE;
k = "callGuide";
#if AR_CURRENT_API_VERSION >= 10
}else if( hv_exists(h,"assign_fields",13) ){
p->action = AR_FILTER_ACTION_FIELDS;
k = "assign_fields";
#endif
}else if( hv_exists(h,"sqlCommand",10) ){
p->action = AR_FILTER_ACTION_SQL;
k = "sqlCommand";
#if AR_CURRENT_API_VERSION <= 9
}else if( hv_exists(h,"fieldp",6) ){
p->action = AR_FILTER_ACTION_FIELDP;
k = "fieldp";
#endif
}else if( 1 ){
p->action = AR_FILTER_ACTION_NONE;
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: map error" );
}
switch( p->action ){
case AR_FILTER_ACTION_GOTOACTION:
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
{
SV **val;
strncpy( k, "gotoAction", 255 );
val = hv_fetch( h, "gotoAction", 10, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARGotoActionStruct( ctrl, h, k, &(p->u.gotoAction) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"gotoAction\"" );
return -1;
}
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: hash value is not a hash reference" );
return -1;
}
supportrev_generated.c view on Meta::CPAN
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: hash value is not a hash reference" );
return -1;
}
}
break;
#endif
case AR_FILTER_ACTION_EXITGUIDE:
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
{
SV **val;
strncpy( k, "exitGuide", 255 );
val = hv_fetch( h, "exitGuide", 9, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARExitGuideStruct( ctrl, h, k, &(p->u.exitGuide) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"exitGuide\"" );
return -1;
}
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: hash value is not a hash reference" );
return -1;
}
}
break;
case AR_FILTER_ACTION_PROCESS:
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
{
SV **val;
strncpy( k, "process", 255 );
val = hv_fetch( h, "process", 7, 0 );
if( val && *val && SvOK(*val) ){
{
p->u.process = strdup( SvPV_nolen(*val) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"process\"" );
return -1;
}
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: hash value is not a hash reference" );
return -1;
}
}
break;
case AR_FILTER_ACTION_CALLGUIDE:
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
{
SV **val;
strncpy( k, "callGuide", 255 );
val = hv_fetch( h, "callGuide", 9, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARCallGuideStruct( ctrl, h, k, &(p->u.callGuide) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"callGuide\"" );
return -1;
}
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARFilterActionStruct: hash value is not a hash reference" );
return -1;
}
}
break;
#if AR_CURRENT_API_VERSION >= 10
case AR_FILTER_ACTION_FIELDS:
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
( run in 1.173 second using v1.01-cache-2.11-cpan-39bf76dae61 )