Exemple #1
0
_EXP_TYPE_ _env_make_NAM_(const _STR_TYPE_ str)
 { _SIZ_TYPE_ idx;
   _EXP_TYPE_ nam;
   for (idx = 1; idx < DCT_top; idx++)
     { nam = _ag_get_TAB_EXP_(_NAMES_, idx);
       if (!strcmp(str, _ag_get_TXT_(nam)))
         return nam; }
   if (DCT_top > DCT_siz)
     _error_(_DCT_ERROR_);
   nam = _ag_make_TXT_(str);
   _ag_set_TAB_EXP_(_NAMES_, DCT_top++, nam);
   return nam; }
Exemple #2
0
_RES_TYPE_ _PICO_ACCEPT_(const _SES_TYPE_ ses,
                         const _STR_TYPE_ str)
 { if (STATUS != ENABLED)
     return _CTL_ERROR_;
   for (SES_IDX = 0 ; SES_IDX < _MAX_SES_ ; SES_IDX++)
     if (SES_TAB[SES_IDX].ses == ses)
       { if (SES_TAB[SES_IDX].res != _DO_ACCEPT_)
           return _CTL_ERROR_;
         CTX_RESTORE(SES_IDX);
         _stk_claim_();
         _mem_claim_STR_(str);
         _stk_push_EXP_(_ag_make_TXT_(str)); 
         _ESC_ = SES_TAB[SES_IDX].esc;        
         if (setjmp(SES_TAB[SES_IDX].exi) == 0) 
           _stk_loop_();
         CTX_CAPTURE(SES_IDX);
         return SES_TAB[SES_IDX].res; }
   return _SNA_ERROR_; }