コード例 #1
0
ファイル: sltest.c プロジェクト: parke/slang
static void check_intrin_long_qualifier (char *name, long *def)
{
   long q;
   if (-1 == SLang_get_long_qualifier (name, &q, *def))
     return;
   SLang_push_long (q);
}
コード例 #2
0
ファイル: slstd.c プロジェクト: ebichu/dd-wrt
static void atol_intrin (void)
{
   char *s;
   SLang_Array_Type *ats;
   SLang_Array_Type *ati;
   long *ip;
   char **strp, **strpmax;

   if (-1 == pop_array_or_string (_pSLANG_LONG_TYPE, &s, &ats, &ati))
     return;

   if (s != NULL)
     {
	(void) SLang_push_long (atol (s));
	SLang_free_slstring (s);
	return;
     }

   strp = (char **) ats->data;
   strpmax = strp + ats->num_elements;
   ip = (long *) ati->data;
	
   while (strp < strpmax)
     {
	if (*strp == NULL)
	  *ip++ = 0;
	else
	  *ip++ = atol (*strp);
	strp++;
     }
   SLang_free_array (ats);
   (void) SLang_push_array (ati, 1);
}