Ejemplo n.º 1
0
_NIL_TYPE_ _escape_(_NIL_TYPE_)
 { _ESC_TYPE_ esc;
   STATUS = DISABLED;
   esc = _PICO_ESCAPE_(SES_TAB[SES_IDX].ses);
   STATUS = ENABLED;
   if (esc == _ESCAPE_YES_)
     { SES_TAB[SES_IDX].res = _DO_ESCAPE_;
       longjmp(SES_TAB[SES_IDX].exi, 1); }
   if (_ag_is_VOI_(_ESC_))
     return;
   _nat_interrupt_(); }
Ejemplo n.º 2
0
Archivo: tpico.c Proyecto: aropop/pico
static char * identifiergenerator (const char *text, int state)
{
   static int len;
   static _EXP_TYPE_ dct;
   _EXP_TYPE_ d;
   char *name, *fulltext, quotechar;
   int quoted=0;

   if (!state) {
      len = strlen (text);
      fulltext = rl_line_buffer;
      while (*fulltext) {
         if (*fulltext=='"' || *fulltext=='\'')
            if (quoted) {
               if (quotechar==*fulltext)
                  quoted = 0;
            } /* the one-statement block keeps the "else" in its place */
            else {
               quoted = 1;
               quotechar = *fulltext;
            }
         fulltext++;
      }
      if (quoted) return NULL;
      else dct = _DCT_;
   }
   while (!_ag_is_VOI_(dct)) {
      name = _ag_get_TXT_(_ag_get_DCT_NAM_(dct));
      dct = _ag_get_DCT_DCT_(dct);
      if (strncmp (name, text, len) == 0) {
	 for (d = _DCT_;
	      _ag_get_DCT_NAM_(d).raw != _ag_get_DCT_NAM_(dct).raw;
	      d = _ag_get_DCT_DCT_(d));
	 if (d.raw == dct.raw)
	    return strcpy(xmalloc(strlen(name)+1),name);
      }
   }
   return NULL;
}