*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.118 2003/06/26 11:37:05 meskes Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.119 2003/07/25 05:42:27 meskes Exp $
*
*-------------------------------------------------------------------------
*/
#define startlit() (literalbuf[0] = '\0', literallen = 0)
static void addlit(char *ytext, int yleng);
static void addlitchar (unsigned char);
-static void string_unput (char *);
static void parse_include (void);
char *token_start;
}
else
{
- string_unput("define ");
- /* remove the "define " part of the text */
- yytext[1] = '\0';
+ yyless(1);
return (S_ANYTHING);
}
}
/* are we simulating Informix? */
if (INFORMIX_MODE)
{
- BEGIN(incl);
+ BEGIN(incl);
}
else
{
- string_unput("include ");
- /* remove the "include " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
{exec_sql}{ifdef}{space}* { ifcond = TRUE; BEGIN(xcond); }
/* are we simulating Informix? */
if (INFORMIX_MODE)
{
- ifcond = TRUE;
- BEGIN(xcond);
+ ifcond = TRUE;
+ BEGIN(xcond);
}
else
{
- string_unput("ifdef ");
- /* remove the "ifdef " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
{exec_sql}{ifndef}{space}* { ifcond = FALSE; BEGIN(xcond); }
/* are we simulating Informix? */
if (INFORMIX_MODE)
{
- ifcond = FALSE;
- BEGIN(xcond);
+ ifcond = FALSE;
+ BEGIN(xcond);
}
else
{
- string_unput("ifndef ");
- /* remove the "ifndef " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
{exec_sql}{elif}{space}* { /* pop stack */
}
else
{
- string_unput("elif ");
- /* remove the "elif " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
}
else
{
- string_unput("else ");
- /* remove the "else " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
{exec_sql}{endif}{space}*";" {
}
else
{
- string_unput("endif ");
- /* remove the "endif " part of the text */
- yytext[1] = '\0';
- return (S_ANYTHING);
+ yyless(1);
+ return (S_ANYTHING);
}
}
literalbuf[literallen] = '\0';
}
-/* put string back on stack */
-static void
-string_unput (char *string)
-{
- int i;
-
- for (i = strlen(string)-1; i>=0; i--)
- unput(string[i]);
-}
-
static void
parse_include(void)
{