diff options
| author | Bruce Momjian <bruce@momjian.us> | 1998-08-11 18:33:37 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 1998-08-11 18:33:37 +0000 |
| commit | c6dd1e63a951ba4b529ed292f88fba28de70df78 (patch) | |
| tree | fa342f405c3a3bacd02f038f6043b1f39d78f623 /src/interfaces/ecpg/preproc/ecpg.c | |
| parent | 79c8d2e3a0966b49af2a2cab44628d2f963d46fd (diff) | |
| download | postgresql-c6dd1e63a951ba4b529ed292f88fba28de70df78.tar.gz | |
This one cleans the cursor problems ecpg had so far. It is now able
to understand cursors with variables.
Michael
Diffstat (limited to 'src/interfaces/ecpg/preproc/ecpg.c')
| -rw-r--r-- | src/interfaces/ecpg/preproc/ecpg.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c index f12b799850..1fe777845b 100644 --- a/src/interfaces/ecpg/preproc/ecpg.c +++ b/src/interfaces/ecpg/preproc/ecpg.c @@ -23,6 +23,7 @@ extern char *optarg; struct _include_path *include_paths; static int no_auto_trans = 0; +struct cursor *cur = NULL; static void usage(char *progname) @@ -138,6 +139,24 @@ main(int argc, char *const argv[]) { struct cursor *ptr; + /* remove old cursor definitions if any are still there */ + for (ptr = cur; ptr != NULL; ptr=ptr->next) + { + struct arguments *l1, *l2; + + free(ptr->command); + free(ptr->name); + for (l1 = argsinsert; l1; l1 = l2) + { + l2 = l1->next; + free(l1); + } + for (l1 = argsresult; l1; l1 = l2) + { + l2 = l1->next; + free(l1); + } + } /* initialize lex */ lex_init(); |
