int parseAndComputeMsParamArrayToEnv( msParamArray_t *var, Env *env, ruleExecInfo_t *rei, int reiSaveFlag, rError_t *errmsg, Region *r ) { int i; for ( i = 0; i < var->len; i++ ) { Res *res = newRes( r ); int ret = convertMsParamToRes( var->msParam[i], res, r ); if ( ret != 0 ) { return ret; } char *varName = var->msParam[i]->label; if ( TYPE( res ) == T_UNSPECED ) { if ( varName != NULL ) { updateInEnv( env, varName, res ); } continue; } if ( TYPE( res ) != T_STRING ) { return -1; } char *expr = res->text; res = parseAndComputeExpression( expr, env, rei, reiSaveFlag, errmsg, r ); if ( getNodeType( res ) == N_ERROR ) { return RES_ERR_CODE( res ); } if ( varName != NULL ) { updateInEnv( env, varName, res ); } } return 0; }
int updateMsParamArrayToEnv(msParamArray_t *var, Env *env, rError_t *errmsg, Region *r) { int i; for(i=0;i<var->len;i++) { Res *res = newRes(r); int ret = convertMsParamToRes(var->msParam[i], res, errmsg, r); if(ret != 0) { return ret; } char *varName = var->msParam[i]->label; if(varName!=NULL) { updateInEnv(env, varName, res); } } return 0; }