1212 *
1313 *
1414 * IDENTIFICATION
15- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.118 2003/06/26 11:37:05 meskes Exp $
15+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.119 2003/07/25 05:42:27 meskes Exp $
1616 *
1717 *-------------------------------------------------------------------------
1818 */
@@ -42,7 +42,6 @@ static int literalalloc; /* current allocated buffer size */
4242#define startlit () (literalbuf[0 ] = ' \0 ' , literallen = 0 )
4343static void addlit (char *ytext, int yleng);
4444static void addlitchar (unsigned char );
45- static void string_unput (char *);
4645static void parse_include (void );
4746
4847char *token_start;
@@ -721,9 +720,7 @@ cppline {space}*#(.*\\{space})+.*
721720 }
722721 else
723722 {
724- string_unput (" define " );
725- /* remove the "define " part of the text */
726- yytext[1 ] = ' \0 ' ;
723+ yyless (1 );
727724 return (S_ANYTHING);
728725 }
729726 }
@@ -732,46 +729,40 @@ cppline {space}*#(.*\\{space})+.*
732729 /* are we simulating Informix? */
733730 if (INFORMIX_MODE)
734731 {
735- BEGIN (incl);
732+ BEGIN (incl);
736733 }
737734 else
738735 {
739- string_unput (" include " );
740- /* remove the "include " part of the text */
741- yytext[1 ] = ' \0 ' ;
742- return (S_ANYTHING);
736+ yyless (1 );
737+ return (S_ANYTHING);
743738 }
744739 }
745740<C ,xskip >{exec_sql }{ifdef }{space }* { ifcond = TRUE ; BEGIN (xcond); }
746741<C ,xskip >{informix_special }{ifdef }{space }* {
747742 /* are we simulating Informix? */
748743 if (INFORMIX_MODE)
749744 {
750- ifcond = TRUE ;
751- BEGIN (xcond);
745+ ifcond = TRUE ;
746+ BEGIN (xcond);
752747 }
753748 else
754749 {
755- string_unput (" ifdef " );
756- /* remove the "ifdef " part of the text */
757- yytext[1 ] = ' \0 ' ;
758- return (S_ANYTHING);
750+ yyless (1 );
751+ return (S_ANYTHING);
759752 }
760753 }
761754<C ,xskip >{exec_sql }{ifndef }{space }* { ifcond = FALSE ; BEGIN (xcond); }
762755<C ,xskip >{informix_special }{ifndef }{space }* {
763756 /* are we simulating Informix? */
764757 if (INFORMIX_MODE)
765758 {
766- ifcond = FALSE ;
767- BEGIN (xcond);
759+ ifcond = FALSE ;
760+ BEGIN (xcond);
768761 }
769762 else
770763 {
771- string_unput (" ifndef " );
772- /* remove the "ifndef " part of the text */
773- yytext[1 ] = ' \0 ' ;
774- return (S_ANYTHING);
764+ yyless (1 );
765+ return (S_ANYTHING);
775766 }
776767 }
777768<C ,xskip >{exec_sql }{elif }{space }* { /* pop stack */
@@ -801,10 +792,8 @@ cppline {space}*#(.*\\{space})+.*
801792 }
802793 else
803794 {
804- string_unput (" elif " );
805- /* remove the "elif " part of the text */
806- yytext[1 ] = ' \0 ' ;
807- return (S_ANYTHING);
795+ yyless (1 );
796+ return (S_ANYTHING);
808797 }
809798 }
810799
@@ -845,10 +834,8 @@ cppline {space}*#(.*\\{space})+.*
845834 }
846835 else
847836 {
848- string_unput (" else " );
849- /* remove the "else " part of the text */
850- yytext[1 ] = ' \0 ' ;
851- return (S_ANYTHING);
837+ yyless (1 );
838+ return (S_ANYTHING);
852839 }
853840 }
854841<C ,xskip >{exec_sql }{endif }{space }* " ;" {
@@ -878,10 +865,8 @@ cppline {space}*#(.*\\{space})+.*
878865 }
879866 else
880867 {
881- string_unput (" endif " );
882- /* remove the "endif " part of the text */
883- yytext[1 ] = ' \0 ' ;
884- return (S_ANYTHING);
868+ yyless (1 );
869+ return (S_ANYTHING);
885870 }
886871 }
887872
@@ -1045,16 +1030,6 @@ addlitchar(unsigned char ychar)
10451030 literalbuf[literallen] = ' \0 ' ;
10461031}
10471032
1048- /* put string back on stack */
1049- static void
1050- string_unput (char *string)
1051- {
1052- int i;
1053-
1054- for (i = strlen (string)-1 ; i>=0 ; i--)
1055- unput (string[i]);
1056- }
1057-
10581033static void
10591034parse_include (void )
10601035{
0 commit comments