Include sqlca.h automatically.
authorMichael Meskes <meskes@postgresql.org>
Thu, 10 Jan 2002 10:42:54 +0000 (10:42 +0000)
committerMichael Meskes <meskes@postgresql.org>
Thu, 10 Jan 2002 10:42:54 +0000 (10:42 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/preproc/ecpg.c
src/interfaces/ecpg/preproc/pgc.l

index 9e1125e09315c280eaad8b699c690524acdb94e7..37a2b826c09bbf59ff66230fe5de22eaf5398f1d 100644 (file)
@@ -1192,5 +1192,9 @@ Mon Jan  7 12:18:01 CET 2002
 Tue Jan  8 15:16:37 CET 2002
 
        - Fixed array pointers, no longer using void *.
+
+Thu Jan 10 11:12:14 CET 2002
+
+       - Include sqlca.h automatically.
        - Set ecpg version to 2.9.0.
         - Set library version to 3.3.0.
index 2e6f85ece2f0714785b0db1e01e4e84867294fe9..38ff21eeac6704d963729c3ca1933836bd123f83 100644 (file)
@@ -296,8 +296,8 @@ main(int argc, char *const argv[])
                                /* initialize lex */
                                lex_init();
 
-                               /* we need two includes */
-                               fprintf(yyout, "/* Processed by ecpg (%d.%d.%d) */\n/* These three include files are added by the preprocessor */\n#include <ecpgtype.h>\n#include <ecpglib.h>\n#include <ecpgerrno.h>\n#line 1 \"%s\"\n", MAJOR_VERSION, MINOR_VERSION, PATCHLEVEL, input_filename);
+                               /* we need several includes */
+                               fprintf(yyout, "/* Processed by ecpg (%d.%d.%d) */\n/* These three include files are added by the preprocessor */\n#include <ecpgtype.h>\n#include <ecpglib.h>\n#include <ecpgerrno.h>\n#include <sqlca.h>\n#line 1 \"%s\"\n", MAJOR_VERSION, MINOR_VERSION, PATCHLEVEL, input_filename);
 
                                /* and parse the source */
                                yyparse();
index e9799edcf597763bfde9df0e1e9ac03e4c8dfe0a..d31769873880d5f0535bab0d0eb45b0e5fc4286b 100644 (file)
@@ -824,6 +824,11 @@ cppline                    {space}*#(.*\\{space})*.*
                          {}
                          yytext[i+1] = '\0';
 
+                         /* since version 2.9.0 sqlca.h is included
+                            automatically */
+                         if (strcmp(yytext, "sqlca") == 0)
+                               mmerror(PARSE_ERROR, ET_NOTICE, "sqlca.h is included automatically.");
+
                          yyin = NULL;
                          for (ip = include_paths; yyin == NULL && ip != NULL; ip = ip->next)
                          {
@@ -846,8 +851,8 @@ cppline                     {space}*#(.*\\{space})*.*
                          }
                          if (!yyin)
                          {
-                               fprintf(stderr, "Error: Cannot open include file %s in line %d\n", yytext, yylineno);
-                               exit(NO_INCLUDE_FILE); 
+                               sprintf(errortext, "Cannot open include file %s in line %d\n", yytext, yylineno);
+                               mmerror(NO_INCLUDE_FILE, ET_FATAL, errortext);
                          }
 
                          input_filename = mm_strdup(inc_file);