Beispiel #1
0
static int pop_new_push_old (SLang_Name_Type **handler)
{
   SLang_Name_Type *new_handler;
   SLang_Name_Type *old_handler;

   old_handler = *handler;
   if (SLang_peek_at_stack () == SLANG_NULL_TYPE)
     {
	SLang_pop_null ();
	new_handler = NULL;
     }
   else if (NULL == (new_handler = SLang_pop_function ()))
     return -1;

   if (-1 == _pSLang_push_nt_as_ref (old_handler))
     {
	SLang_free_function (new_handler);
	return -1;
     }

   SLang_free_function (old_handler);
   *handler = new_handler;
   return 0;
}
Beispiel #2
0
static void intrin_get_reference (char *name)
{
   if (*name == '&') name++;
   _pSLang_push_nt_as_ref (_pSLlocate_name (name));
}
Beispiel #3
0
/* NULL is permitted here */
int SLang_push_function (SLang_Name_Type *nt)
{
   return _pSLang_push_nt_as_ref (nt);
}